suchen
HeimJavajavaLernprogrammWas sind Wrapper-Klassen in Java? Einführung in Anwendungsszenarien von Java-Paketklassen

Der Inhalt dieses Artikels befasst sich mit der Frage, was die Verpackungsklasse in Java ist. Eine Einführung in die Anwendungsszenarien von Java-Paketklassen hat einen gewissen Referenzwert. Ich hoffe, dass sie für Sie hilfreich ist.

Heute werde ich über den Ursprung der Java-Paketklassen sowie die Konzepte und Prinzipien des automatischen Ein- und Auspackens sprechen.

Was sind Verpackungstypen?

Java-Design stellte ursprünglich 8 grundlegende Datentypen und 8 entsprechende Verpackungsdatentypen bereit. Wir wissen, dass Java eine Hochsprache für die objektorientierte Programmierung ist. Daher werden Wrapper-Typen genau bereitgestellt, um das Problem zu lösen, dass grundlegende Datentypen durch objektorientierte Programmierung nicht bereitgestellt werden können.

Im Folgenden sind die grundlegenden Datentypen und die entsprechenden Verpackungstypen aufgeführt.

基本数据类型 包装类型
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double

Das Folgende ist das Vererbungsstrukturdiagramm des Verpackungstyps.

Was sind Wrapper-Klassen in Java? Einführung in Anwendungsszenarien von Java-Paketklassen

Aus der obigen Tabelle können Sie sich ein umfassendes Verständnis der Grundtypen und Verpackungsarten verschaffen.

Verpackungsklassen-Anwendungsszenarien

1. Sammelklassengenerika können nur Verpackungsklassen sein

// 编译报错
List<int> list1 = new ArrayList();

// 正常
List<integer> list2 = new ArrayList();</integer></int>

2 value;

private int status;

Die Mitgliedsvariablen der Basisdatentypen haben Standardwerte. Der Standardwert des Status im obigen Code ist beispielsweise 0. Wenn 0 in der Definition einen Fehler darstellt, treten Probleme auf , daher können Sie nur verwenden. Die Wrapper-Klasse Integer hat den Standardwert null, sodass es keinen Standardwerteffekt gibt.

3. Methodenparameter dürfen Nullwerte definieren

private static void test1(int status){
    System.out.println(status);
}

Wenn man sich den obigen Code ansieht, definiert der Methodenparameter den Basisdatentyp int, also muss eine Zahl sein Null kann nicht übergeben werden. In vielen Fällen hoffen wir, null übergeben zu können, daher ist es in diesem Fall angemessener, eine Verpackungsklasse zu verwenden.

Es gibt noch viele weitere Anwendungsszenarien, daher werde ich sie nicht einzeln auflisten. Gerne können Sie eine Nachricht hinterlassen, um weitere Anwendungsszenarien der Verpackung zu besprechen.

Autoboxing und Unboxing

Java 5 fügt einen automatischen Boxing- und Unboxing-Mechanismus hinzu, der gegenseitige Konvertierungsvorgänge zwischen Basisdatentypen und Verpackungstypen ermöglicht.

Autoboxing

Autoboxing konvertiert Basisdatentypen automatisch in Verpackungstypen. Vor Java 5 mussten Sie dazu nur Basisdatentypen in Verpackungstypen konvertieren den Code unten.

Integer i1 = new Integer(8);

Integer i2 = Integer.valueOf(8);

// 自动装箱
Integer i3 = 8;

Alle oben genannten drei Methoden können konvertiert werden, aber die dritte Methode konnte vor Java 5 nicht kompiliert werden, und die dritte Methode ist auch die aktuelle automatische Boxfunktion. Darüber hinaus wird die erste Konstruktormethode nicht empfohlen und wurde als veraltet markiert.

Tatsächlich besteht das Prinzip des automatischen Boxens darin, die valueOf-Methode der Verpackungsklasse aufzurufen, beispielsweise die Integer.valueOf-Methode in der zweiten Methode.

Automatisches Unboxing

Automatisches Unboxing bedeutet, dass der Verpackungstyp automatisch in Basisdatentypen konvertiert wird. Im Gegensatz zum automatischen Paketieren ist es beim Installieren und Entpacken leicht zu verstehen . .

// 自动拆箱
int i4 = i3;

int i5 = i3.intValue();

Um das obige Beispiel fortzusetzen, ist die Zuweisung von i3 zu i4 die automatische Unboxing-Funktion. Das Prinzip des automatischen Boxens besteht darin, die xxValue-Methode der Verpackungsklasse aufzurufen, beispielsweise die intValue-Methode von Integer in i5.

Automatisches Ein- und Auspacken spiegelt sich nicht nur in den obigen Beispielen wider, sondern kann auch automatisch ein- und ausgepackt werden, wenn die Methode Parameter empfängt und das Objekt Parameter festlegt.

Das obige ist der detaillierte Inhalt vonWas sind Wrapper-Klassen in Java? Einführung in Anwendungsszenarien von Java-Paketklassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor