Der Unterschied zwischen int und integer in Java
●Int ist der grundlegende Datentyp und int-Variablen werden gespeichert Numerische Werte. ;Integer ist ein Referenzdatentyp, der eigentlich ein Objekt ist. Integer speichert die Adresse des Referenzobjekts .
● Der Standardwert von int ist 0 und der Standardwert von Integer ist null.
● Der Typ int speichert Werte direkt und Integer muss das Objekt instanziieren und zeigen Sie auf die Adresse des Objekts.
[Empfohlenes Lernen: Java-Video-Tutorial]
Vergleich des von int und Integer belegten Speichers:
Integer-Objekte wird mehr Speicher belegen. Integer ist ein Objekt und muss die Metadaten des Objekts speichern. Aber int ist ein primitiver Datentyp und nimmt daher weniger Platz ein.
Die von non-new generierte Integer-Variable wird mit der von new Integer() generierten Variablen verglichen und das Ergebnis ist falsch.
/** * 比较非new生成的Integer变量与new生成的Integer变量 */public class Test { public static void main(String[] args) { Integer i= new Integer(200); Integer j = 200; System.out.print(i == j); //输出:false } }
Da die von non-new generierte Integer-Variable auf das Objekt im Java-Konstantenpool zeigt, während die von new Integer() generierte Variable auf das neu erstellte Objekt im Heap zeigt, werden die Adressen angezeigt in der Erinnerung sind die beiden unterschiedlich. Die Ausgabe ist also falsch.
Vergleichen Sie zwei nicht neu generierte Integer-Objekte
Wenn die Werte der beiden Variablen zwischen dem Intervall [-128,127] liegen, ist das Vergleichsergebnis wahr; andernfalls ist das Ergebnis falsch.
/** * 比较两个非new生成的Integer变量 */public class Test { public static void main(String[] args) { Integer i1 = 127; Integer j1 = 127; System.out.println(i1 == j1);//输出:true Integer i2 = 128; Integer j2 = 128; System.out.println(i2 == j2);//输出:false } }
Wenn Java Integer i1 = 127 kompiliert, wird es in Integer i1 = Integer.valueOf(127) übersetzt.
Integer-Variable (ob neu generiert oder nicht) wird mit Int-Variable verglichen
Solange die Werte der beiden Variablen gleich sind, ist das Ergebnis WAHR.
/** * 比较Integer变量与int变量 */public class Test { public static void main(String[] args) { Integer i1 = 200; Integer i2 = new Integer(200); int j = 200; System.out.println(i1 == j);//输出:true System.out.println(i2 == j);//输出:true } }
Wenn die umschlossene Integer-Variable mit der Basisdatentyp-Integer-Variable verglichen wird, wird die Integer-Variable automatisch in int entpackt und dann verglichen. Tatsächlich sind die beiden int-Variablen gleich , also sind sie wahr.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen int und integer in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!