Video: 9.7 Wrapper Class in Java Tutorial 2025
Forskjellen mellom primitive typer og referansetyper er en av Java mest kontroversielle funksjoner, og utviklere klager ofte over forskjellene mellom primitive verdier og referanseverdier.
-
Hver primitiv type blir bakt inn i språket.
Java har åtte primitive typer.
-
Hver referansetype er en klasse eller et grensesnitt.
Du kan definere din egen referansetype. Så antallet referansetyper i Java er potensielt uendelig.
Her er en av de primitive-versus-reference-typen "gotchas:" Du kan ikke lagre en primitiv verdi i en ArrayList. Du kan skrive
// DETTE ER OK: ArrayList arrayList = new ArrayList ();
fordi String er en referansetype. Men du kan ikke skrive
// IKKE GJØR DETTE: ArrayList arrayList = new ArrayList ();
fordi int er en primitiv type. Heldigvis har hver av Java's primitive typer en wrapper type, som er en referansetype hvis formål er å inneholde en annen type verdi. For eksempel inneholder et objekt av Java's Integer-type en enkelt int-verdi. Et objekt av Java's Double-type inneholder en enkelt dobbel verdi. Et objekt av Java-tegnstypen inneholder en enkelt char-verdi. Du kan ikke opprette en ArrayList of int-verdier, men du kan opprette en ArrayList of Integer-verdier.
// DETTE ER OK: ArrayList arrayList = new ArrayList ();
Hver primitiv type navn begynner med små bokstaver. Hver innpakningstype navn begynner med en stor bokstav.
I tillegg til å inneholde primitive verdier, gir wrapper klasser nyttige metoder for å arbeide med primitive verdier. For eksempel inneholder Integer wrapper klassen parseInt og andre nyttige metoder for å jobbe med int verdier:
Strengstreng = "17"; int tall = helhet. parseInt (string);
På ulemper kan det være klumpet å arbeide med innpakningstyper. For eksempel kan du ikke bruke aritmetiske operatører med Java's numeriske innpakningstyper. Her er måten å opprette to helhetsverdier og legge dem til sammen:
Integer myInteger = New Integer (3); Integer myOtherInteger = nytt heltall (15); Integer sum = myInteger. intValue () + myOtherInteger. intValue ();
