Primitiv vs. Objekt: Integer und int in Java verstehen
In Java ergibt sich der Unterschied zwischen int und Integer aus ihrer grundlegenden Natur.
int: Eine primitive Daten Typ
int ist ein primitiver Datentyp, der den numerischen Wert direkt enthält. Es belegt festen Speicherplatz und speichert die binäre Darstellung der Ganzzahl.
Integer: Eine Wrapper-Klasse
Integer hingegen ist eine Wrapper-Klasse, die umschließt ein int-Wert. Es verhält sich wie jedes andere Objekt in Java, mit eigenen Methoden und Feldern. Integer-Variablen speichern Verweise auf Integer-Objekte.
Instanziierung vs. Zuweisung
Der gezeigte Code hebt diesen Unterschied hervor:
int n = 9; // Assigns the value 9 to the primitive variable n
In diesem Fall n speichert direkt den ganzzahligen Wert 9.
// This code won't compile because Integer expects a reference to an object Integer n = 9;
Methode Aufrufe
Wrapper-Klassen wie Integer stellen Methoden bereit, die Operationen an den umschlossenen Werten ermöglichen. Zum Beispiel:
Integer.parseInt("1") // Parses a string into an int (returns an int)
Da int keine Klasse ist, gibt es keine Methoden wie parseInt.
// This code won't compile int.parseInt("1")
Autoboxing und Unboxing
Java 5 führte Autoboxing und Unboxing ein, die automatisch zwischen primitiven und Wrapper-Typen konvertieren. Diese Bequemlichkeit kann zu subtilen Fehlern und Leistungsproblemen führen, daher werden explizite Konvertierungen empfohlen.
Wrapper-Klassenhierarchie
Alle primitiven Typen in Java haben äquivalente Wrapper-Klassen: Byte (Byte ), Short (short), Integer (int), Long (long), Boolean (boolean), Character (char), Float (float) und Double (doppelt).
Wrapper-Klassen erweitern die Object-Klasse und ermöglichen die Verwendung in Sammlungen und Generika, in denen Objektreferenzen erforderlich sind.
Das obige ist der detaillierte Inhalt vonInt und Integer von Java: Primitiv vs. Objekt – Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!