Heim > Java > javaLernprogramm > Hauptteil

Der Unterschied zwischen int und Integer

angryTom
Freigeben: 2020-02-17 13:49:41
Original
31175 Leute haben es durchsucht

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

Erweiterung:

Vergleich von Integer und int

1. 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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

Java speichert Zahlen zwischen -128 und 127. Wenn Integer i = 127, ist 127 zwischengespeichert und die Ganzzahl j = 127 wird beim nächsten Mal direkt aus dem Cache abgerufen und ist nicht neu.

Weitere

Programmierlernkurse

erhalten 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!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage