J'ai une liste de tableau qui contient les éléments suivants:méthode Java compareTo ne fonctionne pas comme prévu
{a2.name, a4.name, tr.prod_date, a3.name, a1.name, a5.name, a6.name, a7.name, a8.name, a9.name, a10.name}
Dans ma méthode - je suis en train de comparer les champs et les trier afin qu'ils reviendront dans l'ordre alphabétique.
Collections.sort(dataJSON, new Comparator() {
public int compare(Object obj1, Object obj2) {
return ((ReportDetail) obj1).getReportColumn().compareTo(((ReportDetail) obj2).getReportColumn());
}
});
Malheureusement, les résultats que je vois est que a10.name viendra devant a2.name - suis-je manque quelque chose ou est-il une autre approche que je devrais prendre?
je reçois qu'il ne regarde pas a10 a un seul numéro et il est en train de prendre le premier chiffre, mais est-il un moyen pour qu'il compare la chaîne complète je suppose – Buccaneer
Il est trié lexicalement. Vous pouvez implémenter 'compareTo' pour extraire le nombre et le trier si le reste de la chaîne est identique. – Atri