Heim > Java > javaLernprogramm > Hauptteil

war ein Java

Linda Hamilton
Freigeben: 2024-10-24 06:29:30
Original
373 Leute haben es durchsucht

var en Java

var ist eine Konstruktion, die in JDK 10 eingeführt wurde. Sie wird zum Erstellen von Variablen verwendet, bei denen der Datentyp nicht angegeben ist, sondern der Compiler die Ableitung der Typvariablendaten überlässt . Dies wird als Typinferenz bezeichnet.

var ist kein Schlüsselwort oder Schlüsselwort von Java, sondern aufgrund seiner späteren Einführung ein reservierter Name der Sprache und es besteht die Möglichkeit, dass es als Name einer Variablen, Klasse, Methode usw. verwendet wurde. im Code vor seiner Einführung.

Die Typinferenz ist der Prozess, bei dem der Compiler, anstatt eine Variable mit ihrem Datentyp zu deklarieren, den Datentyp der Variablen anhand des ihr zugewiesenen Werts bestimmen darf ist etwas, das man sehen kann, indem man eine Liste erstellt und den Datentyp im Diamantoperator weglässt, wie unten gezeigt:

// Omite el tipo de dato dentro del operador diamante
List<Integer> list = new ArrayList<>();

// Usa el tipo de dato dentro del operador diamante
List<Integer> list = new ArrayList<Integer>();
Nach dem Login kopieren
Nach dem Login kopieren

Wie verwendet man var in Java?

Um eine Variable mit var zu deklarieren, gehen Sie wie folgt vor:

var nombreDeLaVariable = valor;
Nach dem Login kopieren
Nach dem Login kopieren
var n = "John";
Nach dem Login kopieren
Nach dem Login kopieren

In diesem Fall schließt der Compiler daraus, dass die Variable n vom Typ String ist, da ihr ein Wert vom Typ String zugewiesen ist und die Deklaration des Datentyps entfällt, d. h. Folgendes muss nicht getan werden:

String n = "John";
Nach dem Login kopieren
Nach dem Login kopieren

Wenn der Wert der Variablen auf 10 geändert wird, schließt der Compiler nun, dass Variable n vom Typ int:
ist

var n = 10;
Nach dem Login kopieren
Nach dem Login kopieren

Wenn der Wert der Variablen auf 10,0 geändert wird, schließt der Compiler nun ebenfalls, dass die Variable n vom Typ double ist:

var n = 10.0;
Nach dem Login kopieren
Nach dem Login kopieren

Selbst wenn der Wert der Variablen in eine Instanz von Random geändert wird, schließt der Compiler jetzt, dass Variable n vom Typ Random ist:

// Omite el tipo de dato dentro del operador diamante
List<Integer> list = new ArrayList<>();

// Usa el tipo de dato dentro del operador diamante
List<Integer> list = new ArrayList<Integer>();
Nach dem Login kopieren
Nach dem Login kopieren

Einschränkungen von var

  • Wenn Sie Attribute innerhalb einer Klasse deklarieren, können Sie sie nicht mit var deklarieren, da der Compiler den Datentyp eines Attributs nicht ableiten kann, sodass Sie den Datentyp explizit deklarieren müssen.
var nombreDeLaVariable = valor;
Nach dem Login kopieren
Nach dem Login kopieren
var n = "John";
Nach dem Login kopieren
Nach dem Login kopieren
  • var kann nicht zum Deklarieren von Parametern einer Methode oder Funktion verwendet werden, da der Compiler den Datentyp eines Parameters nicht ableiten kann und der Datentyp daher explizit deklariert werden muss.
String n = "John";
Nach dem Login kopieren
Nach dem Login kopieren
  • Eine weitere Einschränkung besteht darin, dass Sie var nicht verwenden können, wenn Sie eine Variable mit dem Wert Null deklarieren, da Null zumindest in Java kein gültiger Datentyp ist und die Typinferenz in diesem Fall nicht funktioniert.
var n = 10;
Nach dem Login kopieren
Nach dem Login kopieren
  • Wir können var auch nicht nur dazu verwenden, eine Variable zu deklarieren, ohne sie zu initialisieren. Es ist notwendig, der Variablen beim Deklarieren einen Wert zuzuweisen.
var n = 10.0;
Nach dem Login kopieren
Nach dem Login kopieren
  • Wenn mehrere Variablen desselben Typs in einer einzigen Zeile deklariert werden (zusammengesetzte Deklarationen), kann var nicht verwendet werden. Andernfalls muss eine Variable mit dem expliziten Datentyp verwendet werden.
var n = new Random();
Nach dem Login kopieren
  • var kann nicht zum Deklarieren von Lambdas, Methodenreferenzen oder Ähnlichem verwendet werden, zum Beispiel:
public class Person {
    private var name; // Error
}
Nach dem Login kopieren

In den übrigen Situationen kann var auf normale Weise verwendet werden, wobei zu berücksichtigen ist, dass es lokal im Code verwendet werden muss und nicht auf der Ebene von Attributen einer Klasse, Parametern einer Methode usw. Zum Beispiel:

public class Person {
    private String name;
}
Nach dem Login kopieren
public void sayHello(var name) { // Error
    System.out.println("Hello " + name);
}
Nach dem Login kopieren

Zu bedenken ist, dass die Verwendung von var in einigen Fällen die Lesbarkeit des Codes beeinträchtigen kann, da Java eine Sprache ist, in der Variablen Datentypen zugewiesen werden, die im Voraus bekannt sind, und wenn Sie var verwenden, können Sie diese Informationen verlieren, sodass var kann in Situationen verwendet werden, in denen der Datentyp klar abgeleitet werden kann und die Lesbarkeit im Code nicht verloren geht.

var y = null; // Error
Nach dem Login kopieren

Es ist wichtig, Typinferenz nicht damit zu verwechseln, dass Java eine stark typisierte Sprache ist. Durch die Verwendung von var wird die Variable nicht zu einer Variablen vom dynamischen Typ, sondern der Compiler leitet zur Kompilierungszeit den Datentyp der Variablen ab. Sie können also keine Variable vom Typ int deklarieren und ihr dann einen Wert vom Typ String zuweisen.

var x; // Error
x = 10;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonwar ein Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!