Heim  >  Artikel  >  Java  >  Welche zwei Möglichkeiten gibt es, anonyme Objekte in Java zu erstellen?

Welche zwei Möglichkeiten gibt es, anonyme Objekte in Java zu erstellen?

王林
王林nach vorne
2023-05-02 21:43:101225Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen