suchen
HeimJavajavaLernprogrammInferenz lokaler Variablentypen in Java 10: So verwenden Sie das Schlüsselwort var im Lambda-Ausdruck

Inferenz lokaler Variablentypen in Java 10: So verwenden Sie das Schlüsselwort var in Lambda-Ausdrücken

Zitat:
Java 10 hat eine neue Funktion der Inferenz lokaler Variablentypen eingeführt, die es uns ermöglicht, das Schlüsselwort var zu verwenden, während wir lokale Variablen deklarieren, um auf deren Typ zu schließen. Während diese Funktion in den meisten Fällen möglicherweise nicht erforderlich ist, kann sie in einigen Fällen die Lesbarkeit und Einfachheit des Codes verbessern. Dieser Artikel konzentriert sich auf die Verwendung des Schlüsselworts var in Lambda-Ausdrücken, um die Inferenz lokaler Variablentypen zu implementieren.

Was ist die Inferenz lokaler Variablentypen?
In früheren Java-Versionen mussten wir den Typ einer lokalen Variablen beim Deklarieren explizit angeben. Zum Beispiel:

String name = "John";
int age = 25;

Ab Java 10 können wir jedoch das Schlüsselwort var verwenden, um den Compiler automatisch auf den Typ einer Variablen basierend auf dem Ausdruck auf der rechten Seite schließen zu lassen, ohne ihn explizit angeben zu müssen. Zum Beispiel:

var name = "John";
var age = 25;

In diesem Beispiel schließt der Compiler basierend auf dem Ausdruck auf der rechten Seite, dass der Typ des Namens String und der Typ des Alters int ist.

Vorteile der Verwendung des Schlüsselworts var in Lambda-Ausdrücken:
Bei der Verwendung von Lambda-Ausdrücken erstellen wir normalerweise eine Instanz einer funktionalen Schnittstelle, um sie an andere Methoden zu übergeben. Die Verwendung des Schlüsselworts var erspart uns die Mühe, beim Erstellen von Lambda-Ausdrucksinstanzen Parametertypen anzugeben. Auf diese Weise können wir uns mehr auf die Logik des Lambda-Ausdrucks konzentrieren, ohne der Deklaration des Parametertyps zu viel Aufmerksamkeit zu schenken.

Beispielcode:
Angenommen, wir haben eine Klasse namens Person, die zwei Attribute enthält: Name und Alter:

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

Jetzt wollen wir basierend auf dem Namensattribut von Person-Objekten sortieren. Vor Java 10 mussten wir den generischen Typ von Comparator manuell angeben:

List<Person> persons = // 初始化Person对象列表

Collections.sort(persons, new Comparator<Person>() {
    @Override
    public int compare(Person p1, Person p2) {
        return p1.getName().compareTo(p2.getName());
    }
});

In diesem Beispiel haben wir eine anonyme innere Klasse erstellt, um die Comparator-Schnittstelle zu implementieren, und die darin enthaltene Vergleichsmethode überschrieben. Allerdings macht das Schlüsselwort var in Java 10 den Code sauberer:

List<Person> persons = // 初始化Person对象列表

Collections.sort(persons, (var p1, var p2) -> {
    return p1.getName().compareTo(p2.getName());
});

In diesem Beispiel haben wir das Schlüsselwort var verwendet, um die Typen von p1 und p2 abzuleiten, ohne deren Typ explizit als Person deklarieren zu müssen.

Fazit:
Die lokale Variablentypinferenz von Java 10 ist eine leistungsstarke Funktion, die es uns ermöglicht, saubereren und besser lesbaren Code zu schreiben. Durch die Verwendung des Schlüsselworts var in einem Lambda-Ausdruck können wir uns auf die Implementierung der Logik konzentrieren, ohne der Typdeklaration der Parameter zu viel Aufmerksamkeit schenken zu müssen. Obwohl diese Funktion in manchen Situationen sehr nützlich sein kann, müssen wir sie natürlich dennoch mit Vorsicht verwenden, um die Wartbarkeit und Lesbarkeit des Codes sicherzustellen.

Referenzmaterialien:

  • Offizielle Dokumentation von Oracle: https://docs.oracle.com/en/java/javase/10/sprache/local-variable-type-inference.html
  • Tutorial zum Java-Lambda-Ausdruck: https: //www.javatpoint.com/java-lambda-expressions

Das obige ist der detaillierte Inhalt vonInferenz lokaler Variablentypen in Java 10: So verwenden Sie das Schlüsselwort var im Lambda-Ausdruck. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.