Primitieve wrapper-klasse in Java - Primitive wrapper class in Java

In object georiënteerd programmeren , een wrapperklasse is een klasse die ingekapseld type , zodat deze types kan worden gebruikt voor het maken object instances en werkwijzen in een andere klasse die die soorten nodig. Dus een primitieve wrapper-klasse is een wrapper-klasse die datatypes van de acht primitieve datatypes inkapselt, verbergt of verpakt , zodat deze kunnen worden gebruikt om geïnstantieerde objecten te maken met methoden in een andere klasse of in andere klassen. De primitieve wrapper-klassen zijn te vinden in de Java API .

0 Primitieve wrapper-klassen worden gebruikt om een Object te maken die primitieve typen moet vertegenwoordigen in Collection klassen (dwz in de Java API), in het java.util pakket en in het java.lang.reflect reflectiepakket . Collectieklassen zijn door Java API gedefinieerde klassen die objecten kunnen opslaan op een manier die vergelijkbaar is met hoe datastructuren zoals arrays primitieve datatypes zoals int , double , long of char , etc. opslaan, maar arrays slaan primitieve datatypes op, terwijl verzamelingen in feite objecten opslaan.

De primitieve wrapper-klassen en hun overeenkomstige primitieve typen zijn:

Primitief type Wikkelklasse Constructor-argumenten
byte Byte byte of String
short Short short of String
int Integer int of String
long Long long of String
float Float floatdoubleString
double Double double of String
char Character char
boolean Boolean boolean of String

Het verschil tussen wrapper-klassen en primitieve typen

Primitieve wrapper-klassen zijn niet hetzelfde als primitieve typen. Terwijl variabelen bijvoorbeeld in Java kunnen worden gedeclareerd als gegevenstypen double , short , int , etc., creëren de primitieve wrapper-klassen geïnstantieerde objecten en methoden die de primitieve gegevenstypen erven maar verbergen, niet zoals variabelen waaraan het gegevenstype is toegewezen. waarden.

Daarom betekent de term Primitieve wrapper-klasse niet dat wrapper-klassen primitieve typen zijn. Het moet worden begrepen als een klasse die primitieve typen omhult. Wrapper-klassen kunnen worden gebruikt om dezelfde waarde op te slaan als van een primitieve typevariabele, maar de instanties / objecten van wrapper-klassen zelf zijn niet-primitief . We kunnen niet zeggen dat Wrapper-klassen zelf primitieve typen zijn. Ze wikkelen gewoon de primitieve typen.

De Byte , Short , Integer , Long , Float , en Double wrapper klassen zijn subklassen van de Number klasse.

De wrapper-klassen BigDecimal en BigInteger zijn niet een van de primitieve wrapper-klassen, maar zijn onveranderlijk.

Atomic wrapper-klassen

Met Java 5.0 werden extra wrapper-klassen in het java.util.concurrent.atomic pakket geïntroduceerd . Deze klassen zijn veranderlijk en kunnen niet worden gebruikt als vervanging voor de reguliere wrapper-klassen. In plaats daarvan bieden ze atomaire bewerkingen voor optellen, verhogen en toewijzen.

De atomaire wrapper-klassen en de bijbehorende typen zijn:

Primitief type Wikkelklasse
int AtomicInteger
long AtomicLong
boolean AtomicBoolean
V AtomicReference<V>

De AtomicInteger en AtomicLong klassen zijn subklassen van de Number klasse. De AtomicReference klasse accepteert het parameter type V dat het type van het voorwerp aangeeft referentie . (Zie " Generics in Java " voor een beschrijving van typeparameters in Java). V

Zie ook

Referenties