Dans le code de tri initial fourni, la concaténation des champs de la comparaison rend difficile la séparation des champs pour le tri. Pour remédier à cela, pensez à ajouter des espaces entre les champs. Vous pouvez également explorer les alternatives suivantes :
Collections.sort(reportList, Comparator.comparing(Report::getReportKey)
.thenComparing(Report::getStudentNumber) .thenComparing(Report::getSchool));
ComparatorChain chain = new ComparatorChain(Arrays.asList(
new BeanComparator ("taille"),
new BeanComparator("nrOfToppings"),
new BeanComparator("name")));
Collections.sort(pizzas, chaîne);
@Override public int compare(Pizza p1, Pizza p2) { return ComparisonChain.start().compare(p1.size, p2.size).compare(p1.nrOfToppings, p2.nrOfToppings).compare(p1.name, p2.name).result(); }
Collections.sort(pizzas, nouveau Comparateur
@Override public int compare(Pizza p1, Pizza p2) { return new CompareToBuilder().append(p1.size, p2.size).append(p1.nrOfToppings, p2.nrOfToppings).append(p1.name, p2.name).toComparison(); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!