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 :
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.
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()); } }
Merci
PS: désolé pour l'indentation
Partager