Dies ist ein Artikel, den ich über Grundelemente und Wrapper-Klassen und deren Inhalt zusammengefasst habe. Ich lerne gerade, mich für Java Silver zu qualifizieren, und ich schreibe, dass ich es auf dieser Ebene verstehe, so dass es möglicherweise an Genauigkeit oder Genauigkeit mangelt. Bitte haben Sie Verständnis (wenn Sie einen Fehler machen, lassen Sie es mich bitte wissen).
・ Personen, die über eine Java-Qualifikation nachdenken ・ Leute, die nicht verstehen, was sie sagen, wie Primitive, Rapper-Klassen und Auto-Boxen.
Primitiver Typ, Referenztyp, Wrapper-Klasse, Auto-Boxing, Unboxing
** [Grobe Definition] ** ・ Einer der Java-Datentypen -Javas sogenannter Basistyp, auch Werttyp genannt -Es gibt einen Wert im Speicherstapelbereich
[Art] Insgesamt gibt es 8 Typen. Ich denke, Sie müssen sich nicht an den Wertebereich erinnern, der ausgedrückt werden kann (~~, also habe ich aufgehört, in der Mitte zu schreiben ~~). Ich denke, es ist in Ordnung, sich an die Anzahl der Bits zu erinnern. Je größer die Anzahl der Bits, desto breiter ist der Bereich, der ausgedrückt werden kann [^ 10].
Datentyp | Werte und Bereiche, die ausgedrückt werden können | bisschen(bit) | Konkretes Beispiel |
---|---|---|---|
boolean | true, false | 1 | |
byte | -128 ~127 ganze Zahlen | 8 | |
char | \u0000 ~ \uFFFF Unicode-Zeichenfolge | 16 | |
short | -32768 ~32767 Ganzzahl | 16 | |
int | ganze Zahl | 32 | |
float | Reelle Zahl(Gleitkommazahl mit einfacher Genauigkeit) | 32 | 2f, 100F |
long | ganze Zahl | 64 | 10l, 5L |
double | Reelle Zahl(Gleitkommazahl mit doppelter Genauigkeit) | 64 |
** [Grobe Definition] ** ・ Einer der Java-Datentypen ・ String, Array, Liste usw.
Um die letzte Definition genauer zu schreiben, wird das neu erstellte Objekt (≒ Instanz) dem Stapelbereich zugewiesen, und der Zeiger (Adresse im Speicher) auf dieses Objekt wird dem Peep-Bereich als Referenzwert zugewiesen ( Referenz 4> [Primitivtyp und Referenztyp](https://qiita.com/hysdsk/items/2e94c8722dc8f950e77c# Primitivtyp und Referenztyp).
[Referenz 2] und [Ref2] sind sehr detailliert über den Unterschied im Verhalten bei der Zuordnung zwischen primitivem Typ und Referenztyp. Bitte beziehen Sie sich darauf. (Dieses Mal ist das Hauptthema nicht da, also werde ich weitermachen)
** [Grobe Definition] ** ・ Evolutionäre Klasse primitiver Typen, die als Referenztyp klassifiziert sind ← Sieht stark aus -Jede Klasse hat eine bequeme Methode ・ Es verhält sich wie ein primitiver Typ, aber der Inhalt kann null sein (seien Sie also vorsichtig mit nullpo).
Es ist wahrscheinlich eine Wrapper-Klasse, weil sie den primitiven Typ umschließt (umschließt)! Die Inhalte sind primitive Typen. Lassen Sie uns eine Tabelle erstellen, die dem primitiven Typ entspricht (mit Ausnahme einiger hat sie dieselbe Form wie der primitive Typ!).
Primitiver Typ | Wrapper-Klasse |
---|---|
boolean | Boolean |
byte | Byte |
char | Character |
short | Short |
int | Integer |
float | Float |
long | Long |
double | Double |
Ich habe es als bequeme Methode geschrieben, aber für "Integer" konvertiert beispielsweise "Integer.parseInt (String)" eine Zeichenfolge in einen int-Typ, "Integer.valueOf (int)" konvertiert einen int-Typ in eine Zeichenfolge usw. Es stehen verschiedene Optionen zur Verfügung (letzteres wird auch bei der expliziten Konvertierung in den Integer-Typ verwendet, Einzelheiten finden Sie im nächsten Kapitel).
Basierend auf der bisherigen Erklärung, wenn Sie die Definition schreiben
Autoboxing: Automatische Konvertierung vom primitiven Typ in die Wrapper-Klasse Unboxing: Automatische Konvertierung von der Wrapper-Klasse in den primitiven Typ [^ 15]
ist! Ich glaube nicht, dass es etwas mit Sportboxen zu tun hat, ich weiß es nicht [^ 20]! Ich denke, es ist Autoboxing, weil es den primitiven Typ automatisch umschließt (= legt es in die Box), und umgekehrt ist es Unboxing, weil es aus der Box genommen wird.
Der eigentliche Code sieht folgendermaßen aus (zitiert aus Referenz 7).
//Auto-Boxen
int numInt = 10;
Integer numInteger = numInt;
//Unboxing
Integer numInteger = new Integer(10);
int numInt = numInteger;
Die Abbildung von Auto Boxing und Unboxing sieht so aus.
Auto-Boxen
==>
[Primitiver Typ] [Wrapper-Klasse]
<==
Unboxing
Übrigens bedeutet die Tatsache, dass ich oben "automatische Konvertierung" geschrieben habe, dass Sie auch explizit Autoboxing und Unboxing durchführen können (zitiert aus Referenz 7).
//Auto-Boxen
int numInt = 10;
Integer numInteger = new Integer(numInt);
//Oder darunter
Integer numInteger = Integer.valueOf(numInt);
//Unboxing
Integer numInteger = new Integer(10);
int numInt = numInteger.intValue();
Ich kann oder kann nicht etwas schreiben, es ist unentschlossen.
Vielen Dank für das Lesen bis zum Ende!
** Testinformationen (aus Referenz 1) ** Betreff: Java SE 8 Programmer I. Testnummer: 1Z0-808 [^ 30] Testzeit: 150 Minuten Anzahl der Fragen: 77 Fragen Pass Line: 65%
Beim Schreiben dieses Artikels habe ich auf die folgenden Bücher und Websites verwiesen. Ich möchte diese Gelegenheit nutzen, um Ihnen zu danken. Alle Referenzen sind viel einfacher zu verstehen als meine Erklärungen, daher empfehle ich, sie zu lesen!
[]: URL-Liste [ref2]: https://freelance-jak.com/technology/java/1175/ [ref3]: https://wa3.i-3-i.info/word15876.html [ref4]: https://qiita.com/hysdsk/items/2e94c8722dc8f950e77c [ref5]: https://www.sejuku.net/blog/22828 [ref6]: https://www.javadrive.jp/start/wrapper_class/index1.html [ref7]: https://qiita.com/chihiro/items/870eca6e911fa5cd8e58
Recommended Posts