Heim Java javaLernprogramm Inferenz 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 im Lambda-Ausdruck

Aug 02, 2023 pm 04:25 PM
局部变量 类型推断 lambda表达式

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
    }
}
Nach dem Login kopieren

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());
    }
});
Nach dem Login kopieren

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());
});
Nach dem Login kopieren

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!

Erklärung dieser Website
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 vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen lokalen Variablen und globalen Variablen einer C++-Funktion? Was ist der Unterschied zwischen lokalen Variablen und globalen Variablen einer C++-Funktion? Apr 19, 2024 pm 03:42 PM

Der Unterschied zwischen lokalen C++-Variablen und globalen Variablen: Sichtbarkeit: Lokale Variablen sind auf die definierende Funktion beschränkt, während globale Variablen im gesamten Programm sichtbar sind. Speicherzuweisung: Lokale Variablen werden auf dem Stapel zugewiesen, während globale Variablen im globalen Datenbereich zugewiesen werden. Geltungsbereich: Lokale Variablen befinden sich innerhalb einer Funktion, während globale Variablen im gesamten Programm vorhanden sind. Initialisierung: Lokale Variablen werden beim Aufruf einer Funktion initialisiert, während globale Variablen beim Programmstart initialisiert werden. Neuerstellung: Lokale Variablen werden bei jedem Funktionsaufruf neu erstellt, während globale Variablen nur beim Programmstart erstellt werden.

Beherrschen Sie funktionale Programmierung und Lambda-Ausdrücke in der Go-Sprache Beherrschen Sie funktionale Programmierung und Lambda-Ausdrücke in der Go-Sprache Nov 30, 2023 am 10:46 AM

In der heutigen Programmierwelt hat sich die funktionale Programmierung (FP) nach und nach zu einem beliebten Programmierparadigma entwickelt. Es betont die Verwendung von Funktionen als Grundbausteine ​​zum Erstellen von Programmen und betrachtet den Berechnungsprozess als die kontinuierliche Übertragung und Konvertierung zwischen Funktionen. In den letzten Jahren wurde die Go-Sprache (auch bekannt als Golang) aufgrund ihrer Einfachheit, Effizienz, Parallelitätssicherheit und anderer Eigenschaften nach und nach in verschiedenen Bereichen weit verbreitet. Obwohl die Go-Sprache selbst keine rein funktionale Programmiersprache ist, bietet sie ausreichende Funktionalität.

Wie man funktionale Programmierung mit PHP durchführt Wie man funktionale Programmierung mit PHP durchführt Jun 06, 2023 am 08:21 AM

PHP ist eine weit verbreitete serverseitige Sprache. Einer der Gründe, warum viele Webentwickler gerne PHP verwenden, ist die umfangreiche Funktionsbibliothek und die einfache und benutzerfreundliche Funktionssyntax. Funktionale Programmierung ist ein Programmierparadigma, das Daten und Verhalten gut kapselt, wodurch der Code modularer und einfacher zu warten und zu testen ist. In diesem Artikel stellen wir vor, wie man PHP für die funktionale Programmierung verwendet. Grundlagen der funktionalen Programmierung Die Kernidee der funktionalen Programmierung besteht darin, Funktionen als erstklassige Bürger zu behandeln. Funktionen selbst können wie Variablen übergeben, zurückgegeben und zusammengesetzt werden.

C++-Syntaxfehler: Wenn eine Funktion einen Zeiger oder eine Referenz zurückgibt, kann sie keine lokale Variable oder kein temporäres Objekt zurückgeben. Was soll ich tun? C++-Syntaxfehler: Wenn eine Funktion einen Zeiger oder eine Referenz zurückgibt, kann sie keine lokale Variable oder kein temporäres Objekt zurückgeben. Was soll ich tun? Aug 22, 2023 am 09:22 AM

C++ ist eine objektorientierte Programmiersprache und ihre Flexibilität und Leistungsfähigkeit stellen für Programmierer oft eine große Hilfe dar. Doch gerade aufgrund seiner Flexibilität lassen sich diverse kleine Fehler bei der Programmierung nur schwer vermeiden. Einer der häufigsten Fehler besteht darin, dass eine Funktion, wenn sie einen Zeiger oder eine Referenz zurückgibt, keine lokale Variable oder kein temporäres Objekt zurückgeben kann. Wie also mit diesem Problem umgehen? In diesem Artikel werden die relevanten Inhalte im Detail vorgestellt. Die Ursache des Problems liegt darin, dass in der Sprache C++ lokale Variablen und temporäre Objekte während der Ausführung der Funktion dynamisch zugewiesen werden. Wenn die Funktion endet, sind diese lokalen und temporären Variablen

Wie kann die Art des Rückgabewerts einer PHP-Funktion bestimmt werden? Wie kann die Art des Rückgabewerts einer PHP-Funktion bestimmt werden? Apr 15, 2024 pm 10:51 PM

Zu den Methoden zur Bestimmung des Rückgabewerttyps einer PHP-Funktion gehören: 1. Verwendung der Typehint-Deklaration; 2. Verwendung der Funktion gettype(); 4. Verwendung von Bibliotheken von Drittanbietern (wie Psalm und PHPStan);

Datenwettbewerbsanalyse globaler Variablen und lokaler Variablen von Golang-Funktionen Datenwettbewerbsanalyse globaler Variablen und lokaler Variablen von Golang-Funktionen May 21, 2023 am 08:19 AM

Golang ist eine stark typisierte Programmiersprache mit den Merkmalen Effizienz, Einfachheit und Parallelität und wird daher nach und nach von immer mehr Entwicklern bevorzugt. Bei der Entwicklung von Golang sind globale Variablen und lokale Funktionsvariablen häufig mit Datenwettbewerbsproblemen verbunden. In diesem Artikel wird das Datenwettbewerbsproblem globaler Variablen und lokaler Variablen in Golang-Funktionen aus der Perspektive der tatsächlichen Codierung analysiert. 1. Datenkonkurrenz um globale Variablen Auf globale Golang-Variablen kann in allen Funktionen zugegriffen werden, sofern kein strenges Design und keine strenge Codierung durchgeführt werden

Gleichzeitige Programmiermethoden mit Lambda-Ausdrücken Gleichzeitige Programmiermethoden mit Lambda-Ausdrücken Aug 20, 2023 am 08:17 AM

Eine wichtige Ergänzung zu JavaSE8 ist die Lambda-Ausdrucksfunktion. Verwenden Sie Ausdrücke, um Methodenschnittstellen klar und prägnant auszudrücken. Sammlungsbibliotheken sind sehr hilfreich. Sammlungen können für nützliche Zwecke iteriert, gefiltert und Daten extrahiert werden. Zur Implementierung funktionaler Schnittstellen werden häufig Lambda-Ausdrücke verwendet. Es spart viel Code. Mit Lambda-Ausdrücken können wir Implementierungen bereitstellen, ohne Methoden neu zu definieren. Erst hier wird der Implementierungscode durch das Schreiben von Code gebildet. Der Compiler erstellt keine .class-Datei, da Javalambda-Ausdrücke als Funktionen behandelt werden. Die funktionale Schnittstelle @FunctionalInterface ist eine Java-Annotation, die eine Schnittstelle als funktionale Schnittstelle deklariert.

Inferenz lokaler Variablentypen in Java 10: So vereinfachen Sie Ihren Code mit dem Schlüsselwort var Inferenz lokaler Variablentypen in Java 10: So vereinfachen Sie Ihren Code mit dem Schlüsselwort var Jul 29, 2023 pm 07:32 PM

Lokale Variablentyp-Inferenz in Java10: So verwenden Sie das Schlüsselwort var, um Code zu vereinfachen. Einführung: In Java10 wird die Funktion der lokalen Variablentyp-Inferenz eingeführt. Durch die Verwendung des Schlüsselworts var kann der Code-Schreibprozess vereinfacht werden. In diesem Artikel wird die Verwendung des Schlüsselworts var vorgestellt und seine Wirkung auf die Vereinfachung des Codes anhand von Beispielcode demonstriert. 1. Was ist die Inferenz lokaler Variablentypen? Typinferenz für lokale Variablen bedeutet, dass Sie beim Deklarieren lokaler Variablen das Schlüsselwort var anstelle einer expliziten Typdeklaration verwenden können. Der Compiler wird es ausdrücken

See all articles