"Hallo Amigo!"
"Vandaag vertel ik over autoboxen . AutoBoxen betekent automatisch iets in een doos stoppen."
"Je zult je herinneren dat Java typen heeft die de klasse Object erven, evenals primitieve typen. Maar het blijkt dat handige dingen als verzamelingen en generieke typen alleen werken met typen die Object erven."
"Toen werd besloten om van elk primitief type een niet-primitieve tegenhanger te maken."
Primitieve soort | Niet-primitieve tegenhanger |
---|---|
byte | Byte |
kort | Kort |
int | Geheel getal |
lang | Lang |
vlot | Vlot |
dubbele | Dubbele |
booleaans | Booleaans |
char | Karakter |
leegte | Leegte |
"Maar het is super onhandig om de hele tijd tussen deze typen te converteren:"
int x = 3;
Integer y = new Integer(x + 1);
int z = y.intValue();
"Vooral als je direct met collecties werkt:"
int[] numbers = new int[10];
ArrayList list = new ArrayList();
for (int i = 0; i < numbers.length; i++)
{
list.add( new Integer(i));
}
"Daarom hebben de makers van Java 'autoboxing' van primitieve typen uitgevonden en 'unboxing' voor hun niet-primitieve tegenhangers."
"Dit is hoe het werkt:
Wat je ziet | Wat gebeurt er echt |
---|---|
|
|
|
|
|
|
|
|
"Het is allemaal eenvoudig. Je kunt de typen int en Integer aan elkaar toewijzen, en de compiler zorgt voor al het andere."
"Dat is erg handig."
"Ja. Maar er zijn nuances waar ik het later over zal hebben."
GO TO FULL VERSION