Heim >Java >javaLernprogramm >Der Unterschied zwischen int und Integer
Der Unterschied zwischen int und Integer
1. Integer ist eine Wrapper-Klasse von int und int ist ein grundlegender Datentyp von Java
2. Integer-Variablen müssen instanziiert werden, während Integer-Variablen tatsächlich eine Referenz auf ein Objekt sind wird tatsächlich generiert und zeigt auf dieses Objekt.
4 Der Standardwert von Integer ist 0
Empfohlenes Lernen:
Java-Tutorial Vergleich von Integer und int1. Da die Integer-Variable tatsächlich eine Referenz auf ist Bei einem Integer-Objekt werden die beiden durch neue generiert. Integer-Variablen sind immer ungleich (da new zwei Objekte mit unterschiedlichen Speicheradressen generiert).
Integer i = new Integer(100); Integer j = new Integer(100); System.out.print(i == j); //false
2. Beim Vergleich von Integer-Variablen mit Integer-Variablen ist das Ergebnis wahr, solange die Werte der beiden Variablen gleich sind (denn wenn die Verpackungsklasse Integer mit den Basisdaten verglichen wird). Geben Sie int ein, Java entpackt es automatisch als int, und dann wird der Vergleich tatsächlich zu einem Vergleich zweier int-Variablen)
Integer i = new Integer(100); int j = 100; System.out.print(i == j); //true
3. Wenn die von non-new generierte Integer-Variable mit der von new Integer generierten Variablen verglichen wird (), das Ergebnis ist falsch. (Da die von non-new generierte Integer-Variable auf das Objekt im Java-Konstantenpool zeigt und die von new Integer () generierte Variable auf das neu erstellte Objekt im Heap zeigt, sind die Adressen im Speicher der beiden unterschiedlich.)
Integer i = new Integer(100); Integer j = 100; System.out.print(i == j); //false
4 . Wenn die Werte der beiden Variablen beim Vergleich zwischen -128 und 127 liegen, ist das Vergleichsergebnis wahr Befinden sich zwei Variablen nicht in diesem Bereich, ist das Vergleichsergebnis falsch
Integer i = 100;Integer j = 100; System.out.print(i == j); //trueInteger i = 128; Integer j = 128; System.out.print(i == j); //false
Aus dem Grund für Punkt 4:
Wenn Java Integer i = 100; kompiliert, wird es in Integer i = Integer.valueOf übersetzt (100); und der Integer-Typ in der Java-API. Die Definition von valueOf lautet wie folgt:public static Integer valueOf(int i){ assert IntegerCache.high >= 127; if (i >= IntegerCache.low && i <= IntegerCache.high){ return IntegerCache.cache[i + (-IntegerCache.low)]; } return new Integer(i); }
Weitere
Programmierlernkurseerhalten Sie Folgen Sie der chinesischen PHP-Website!
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen int und Integer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!