1. Grundtypen können nur mit einem Wert übergeben werden, während die Kapselungsklasse, die jedem Grundtyp entspricht, durch Referenz übergeben wird.
2. Aus Perspektive der Leistung werden die Grundtypen in Java auf dem Stapel erstellt, und alle Objekttypen werden auf dem Heap erstellt (die Referenzen von Objekten werden auf dem Stapel erstellt). Zum Beispiel
Ganzzahl i = New Integer (10); wo New Integer () auf dem Haufen erstellt wird und seine Referenz Ganzzahl I ist auf dem Stapel. Das Auftreten von Einkapselungsklassen besteht darin, einige Methoden, die in Grundtypen nicht verfügbar sind, wie ValueOF (), toString () usw., bequemer zu verwenden.
Die aufrufende Effizienz der Zuweisung von Speicher am Stapel unterscheidet sich stark von der Effizienz der Zuweisung von Speicher auf dem Haufen. Obwohl es effizient ist, Speicher auf dem Stapel zuzuweisen, gibt es Speicherlecks bei der Zuweisung von Speicher auf dem Stapel. (Dies ist ein Problem, das mittelmäßige Programmierer nicht lösen können ...) Java verwendet eine sehr geniale Methode, um die Effizienz der Zuweisung von Speicher auf dem Haufen zu verbessern. Trotzdem ist Java immer noch langsam. Es ist unwahrscheinlich, dass er so schnell wie C ++ erreicht, obwohl er verspricht, dass ein Tages die virtuellen Möglichkeiten so schnell wie Maschinencode sein werden.
JDK5.0 kann automatisch eingedämmt werden, dh grundlegende Daten können automatisch in Kapselungsklassen eingekapselt werden. Der Vorteil von grundlegenden Datentypen besteht darin, dass sie schnell sind (keine Objektkonstruktion und Recycling). Der Zweck der Einkapselungsklassen besteht hauptsächlich darin, die Datenkonvertierung besser umzugehen. Es gibt viele Methoden und sind bequem zu verwenden.
Natürlich ist der Durchgang des Kapselungstyps beispielsweise ein Referenzpass
Ganzzahl a = New Integer (1);
Zeigt an, dass sich eine Ganzzahltyp -Referenz A auf ein Speicherstück bezieht und die Daten in diesem Speicherstück 1 beträgt; Und was in A gespeichert wird, ist die Referenz (Adresse) dieses Speichers. Wenn ein A an eine andere Methode oder ein anderes Objekt übergibt, wird die Referenz von A übergeben.
Konvertierung zwischen Typen:
Zeichenfolge b = "123456";
int c = Integer.ParseInt (b);
Gibt an
Ein weiterer Punkt ist, dass in einigen Fällen Einkapselungsklassen verwendet werden müssen, z. B. eine Sammelliste, die nur Objekte hinzufügen kann, dh Objekt. Dann ist es definitiv nicht möglich, Zahlen direkt zu speichern. Sie müssen die Zahlen in eingekapselte Objekte zusammenfassen und sie dann in der Liste speichern, z.
Listlist = new ArrayList ();
list.add (New Integer (1));
list.add (New Integer (2));
list.add (New Integer (3));
list.add (New Integer (4));
Nach JDK5.0 kann es automatisch verpackt werden, sodass es als abgekürzt werden kann
Listlist = new ArrayList ();
list.add (1);
list.add (2);
list.add (3);
list.add (4);
Der obige Artikel versteht die Unterschiede und Anwendungen von Java -Grundtypen und Verpackungsarten umfassend. Dies ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.