[Java Siler] Informationen zur Typinferenz von var

Was ist var

Ein Mechanismus zum Durchführen einer ** Typinferenz ** von ** lokalen Variablen **, der seit Java SE 10 aufgetreten ist. Leiten Sie den Datentyp aus dem Typ auf der rechten Seite ab. Die Typinferenz durch var erfolgt zur Kompilierungszeit.

** * [Was ist eine lokale Variable] ** Eine in ** in einer Methode ** deklarierte Variable (als formales Argument oder Argument in einer Methode verwendet)

** ・ Beispiel für eine Typinferenz durch var **

var i = 10;  //Schließen Sie aus dem Wert auf der rechten Seite, dass i vom Typ int ist

** Nur lokale Variablen können vom Typ var abgeleitet werden! !! !! !! ** ** **

Muster, das var nicht verwenden kann (Kompilierungsfehler tritt auf)

-Für andere Variablen als lokale Variablen (Instanzvariable, statische Variable, ** Methodenrückgabetyp **) -Wenn es nicht initialisiert wird, wenn die Variable deklariert wird (dh wenn nur "var i;" und die Variable erstellt werden) ・ Bei Initialisierung mit null -Für Variablen, die die Array-Initialisierung zuweisen

Vorsichtsmaßnahmen beim Erstellen eines Arrays mit var

var leitet den Datentyp vom Typ auf der rechten Seite ab. Der zum Erstellen des Arrays verwendete Initialisierer ({}) leitet dann auch den Typ des Arrays vom Typ des zuzuweisenden Werts ab. Da sie sich gegenseitig ableiten, wird der Typ nicht bestimmt und es tritt ein Kompilierungsfehler auf.

** - Beispiel für eine Array-Initialisierung, die einen Kompilierungsfehler verursacht **

var array = {1,2,3};

Wenn Sie jedoch den Typ beim Erstellen des Werts des Arrays auf der rechten Seite deklarieren, können Sie das Array mit var initialisieren.

** Beispiel für die Array-Initialisierung mit var **

var array = new int []{1,2,3};  //Sie können ein Array vom Typ int erstellen

Vorsichtsmaßnahmen beim Erstellen einer ArrayList mit var

Wie bei Arrays können Sie auch bei var eine ArrayList erstellen.

** - Initialisierung von ArrayList mit var **

var list = new ArrayList<>();

Der ArrayList ** Diamantoperator ** gibt ** Objekttyp ** zurück, wenn kein referenzierbarer Typ vorhanden ist. Daher ist der obige Code der gleiche wie der folgende Code.

 var list = new ArrayList<Object>();

Ein Objekttyp ArrayList wird als Liste erstellt.

Recommended Posts

[Java Siler] Informationen zur Typinferenz von var
Über Java Var
Informationen zu in Java verwendeten Variablen (lokaler Variablentyp)
[Java] Hinweise zur Typinferenz in Java 10
[JDK 10] Typinferenz mit var
[Grundkenntnisse in Java] Informationen zur Typkonvertierung
Java-Typkonvertierung
Über die Java-Schnittstelle
[Java] Informationen zu Java 12-Funktionen
[Einführung in Java] Informationen zur Typkonvertierung (Besetzung, Promotion)
[Java] Über Arrays
[Java] Aufzählungstyp
Java Optionaler Typ
Etwas über Java
Wo ist mit Java?
Informationen zu Java-Funktionen
Über Java-Threads
[Java] -Schnittstelle
Java-Doppeltyp
Über die Java-Klasse
Informationen zu Java-Arrays
Über Java-Vererbung
Über Schnittstelle, Java-Schnittstelle
Über Java Literal
Informationen zu Java-Befehlen
Informationen zum Java-Grunddatentyp- und Referenztypspeicher
Informationen zu CLDR-Gebietsschemadaten, die standardmäßig in Java 9 aktiviert sind
Informationen zur Java-Protokollausgabe
Informationen zur Java-Funktionsschnittstelle
Java, über zweidimensionales Array
Über die Klassenteilung (Java)
Über [Java] [StreamAPI] allMatch ()
Informationen zur Java StringBuilder-Klasse
[Java] Über Singleton Class
[Java] Datentyp ①-Basistyp
Informationen zur Bindung von Java-Methoden
[Java] Über anonyme Klassen
Informationen zu Aufteilungsmethoden (Java)
[Java Silver] Informationen zur Initialisierung
Informationen zur Java-Array-Liste
Über Java-Polymorphismus super ()
[Java, Kotlin] Typabweichung
Feld für den Java-Klassentyp
Typbestimmung in Java
Java # 1 studieren (typischer Typ)
Informationen zur Vererbung (Java Silver)
Informationen zur Java String-Klasse
Informationen zu Java-Zugriffsmodifikatoren
Über Java-Lambda-Ausdrücke
Informationen zu Java-Einstiegspunkten
Java 10 Docker-Unterstützung
Persönliche Zusammenfassung über Java
Informationen zur Apache Inference API
Über die abstrakte Klasse von Java
[Java] Konvertierung des Datumstyps
Unterschiede im enthaltenen SDK (Jar) von Java 8 Typ JDK Vender
[Für Anfänger] Über die von Java Gold erklärte JavaScript-Syntax