Video: 9.7 Wrapper Class in Java Tutorial 2024
definiëren. Het verschil tussen primitieve typen en referentietypen is een van de meest controversiële kenmerken van Java en ontwikkelaars klagen vaak over de verschillen tussen primitieve waarden en referentiewaarden.
-
Elk primitief type is in de taal gebakken.
Java heeft acht primitieve typen.
-
Elk referentietype is een klasse of een interface.
U kunt uw eigen referentietype definiëren. Het aantal referentietypen in Java is dus potentieel eindeloos.
Hier is een van de primitieve versus referentie-achtige "gotchas:" Je kunt een primitieve waarde niet opslaan in een ArrayList. U kunt schrijven
// THIS IS OKAY: ArrayList arrayList = new ArrayList ();
omdat String een referentietype is. Maar u kunt niet schrijven
// DO NOT DIT: ArrayList arrayList = new ArrayList ();
omdat int een primitief type is. Gelukkig heeft elk van de primitieve typen van Java een wrapper type, wat een referentietype is waarvan het doel is om de waarde van een ander type te bevatten. Een object van het type Geheel getal van Java bevat bijvoorbeeld een enkele int-waarde. Een object van het dubbele type van Java bevat een enkele dubbele waarde. Een object van het Karaktertype van Java bevat een enkele char-waarde. U kunt geen ArrayList van int-waarden maken, maar u kunt een ArrayList met geheel getalwaarden maken.
// DIT IS OK: ArrayList arrayList = new ArrayList ();
De naam van elk primitief type begint met een kleine letter. De naam van elke wrapper-type begint met een hoofdletter.
Naast het bevatten van primitieve waarden, bieden wrapper classes handige methoden om met primitieve waarden te werken. De wrapper-klasse Integer bevat bijvoorbeeld parseInt en andere handige methoden voor het werken met int-waarden:
String string = "17"; int getal = Geheel getal. parseInt (string);
Nadeel is dat het werken met wikkeltypes onhandig kan zijn. U kunt bijvoorbeeld geen rekenkundige operatoren gebruiken met Java's numerieke wrappertypen. Dit is de manier om twee Integer-waarden te maken en deze bij elkaar te voegen:
Integer myInteger = new Integer (3); Integer myOtherInteger = nieuw Integer (15); Geheel getal sum = myInteger. intValue () + myOtherInteger. intValue ();