Bonjour,

Je cherche tout simplement à trier une liste contenant des objets Utilisateurs. Je tiens à les trier par leur noms de famille (String) et si ce champ n'est pas rempli par leur workspace (String). Voici le bout de code qui réalise cette action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
/* (non-Javadoc)
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
public int compare(Object o1, Object o2) {
  Utilisateur user1 = (Utilisateur) o1;
  Utilisateur user2 = (Utilisateur) o2;
 
   if ((user1.getLastName() != null) && (!user1.getLastName().equals("")) && (user2.getLastName() != null) && (!user2.getLastName().equals(""))) {
      if (user1.getLastName().equals(user2.getLastName())) {
          return user1.getWorkspace().compareTo(user2.getWorkspace());
      }
      else {
	return user1.getLastName().compareTo(user2.getLastName());
     }
}
  else {
	return user1.getWorkspace().compareTo(user2.getWorkspace());
}
	}
Mon problème est que les majuscules et les minuscules ne sont pas mélangés lors du tri. C'est à dire que l'utilisateur qui un nom avec une majuscule est situé avant dans la liste même si alphabétiquement il est logiquement après.

Merci

PS: désolé pour l'indentation