Ich habe eine Reihe von Objekten, die ich nach zwei der Felder des Objekts sortiert habe. < /p>
Product.java
private string productionDate;
private string productionCountry;
private string productDescription;
< /code>
Jetzt habe ich ein Array des Produkts, das mit einer Reihe von Produkten besiedelt ist. < /p>
List productList
< /code>
Ich versuche im Grunde genommen, die Produktliste zuerst nach ProductionDate und dann nach Produktionscountry zu sortieren, was die folgende Abfrage bewirkt. < /p>
Select * from Product Order By production_date, production_country;
< /code>
Ich habe eine Möglichkeit, mehrere Felder zu sortieren, indem ich so etwas sortiert < /p>
List sortedProduct = productList.stream()
.sorted(Comparator.comparing(Product::getProductionDate)
.thenComparing(Product::getProductionCountry))
.collect(Collectors.toList());
< /code>
Aber das Problem ist, dass ProductionDate vom Typ String ist, sodass die obige Lösung sortiert wird, indem er die Zeichenfolge strikt verglichen wird, anstatt vom Datumstyp zu vergleichen. Was ist das, was ich möchte.>
So sortieren Sie eine Liste von Objekten nach zwei Feldern, wenn das erste Feld ein Datum ist, aber des Zeichenstreichs ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post