1. Statische Tool-Methode
Collections.sort akzeptiert eine Liste und eine Comparator-Schnittstelle als Eingabeparameter. Die Comparator-Implementierungsklasse kann Elemente in der Eingabeliste vergleichen. Normalerweise können Sie ein anonymes Comparator-Objekt direkt erstellen und es als Parameter an die Sortiermethode übergeben.
List<String> names = Arrays.asList("peter", "anna", "mike", "xenia"); Collections.sort(names, new Comparator<String>() { @Override public int compare(String a, String b) { return b.compareTo(a); } });
2. Lambda-Ausdruck
Collections.sort(names, (String a, String b) -> { return b.compareTo(a); });
Wie Sie sehen können, ist dieser Code kürzer und einfacher zu lesen als der vorherige. Es kann jedoch noch kürzer sein:
Collections.sort(names, (String a, String b) -> b.compareTo(a));
Nur eine Codezeile, einschließlich des Methodenkörpers. Sie können sogar die geschweiften Klammern {} und das Schlüsselwort return weglassen. Dies ist jedoch nicht die kürzeste Schreibweise:
Collections.sort(names, (a, b) -> b.compareTo(a));
Der Java-Compiler kann den Parametertyp automatisch identifizieren, sodass Sie den Typ weglassen können.
Das obige ist der detaillierte Inhalt vonWelche zwei Möglichkeiten gibt es, anonyme Objekte in Java zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!