Heim > Java > javaLernprogramm > Hauptteil

Was ist der Unterschied zwischen int und integer in Java?

青灯夜游
Freigeben: 2019-12-26 16:26:46
Original
3967 Leute haben es durchsucht

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

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

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

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!