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 byteBytebyteofStringshortShortshortofStringintIntegerintofStringlongLonglongofStringfloatFloatfloatdoubleStringdoubleDoubledoubleofStringcharCharactercharbooleanBooleanbooleanofString
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 intAtomicIntegerlongAtomicLongbooleanAtomicBooleanVAtomicReference<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