J'ai un petit problème, j'espère que vous pourriez m'aider à le résoudre.Java: Comment trier une liste d'objets?
J'ai une classe appelée entité qui a plusieurs attributs, deux de ces attributs sont les id et l'utilitaire:
public class Entity implements Comparable <Entity> {
int id;
int utility;
}
Ensuite, j'ai plusieurs objets d'entité à l'intérieur d'un ArrayList, comme celui-ci :
ArrayList<Entity> sorted_entities = new ArrayList<Entity>
//added entities
Maintenant, je veux trier la liste en fonction des entités UTILITY. J'ai essayé plusieurs soluctions comme celui-ci que je lis ici, en utilisant un comparateur personnalisé:
Collections.sort(sorted_entities, new Comparator<Entity>() {
public int compare(Entity a, Entity b) {
return a.utility.compareTo(b.utility);
}
});
Mais sur cette ligne:
return a.utility.compareTo(b.utility);
j'ai rencontré l'erreur suivante: int ne peut pas être déréférencé et i Je n'ai aucune idée de comment le réparer. Pouvez-vous m'aider à résoudre ce problème ou à donner une autre solution? THX.
Désolé j'ai trouvé plusieurs sujets mais je n'ai pas vu celui-ci avec le problème de comparateur. – Removed
Je me demande vraiment pourquoi vous créez un 'Comparator', quand votre' Entity' implémente déjà 'Comparable'. – Tom