Indpakning (datatype)

I objektorienteret programmering er en indpakning over en ikke-objekttype ( bokstype ) en objektdatatype designet til at gemme en værdi af en ikke-objekttype. For eksempel i Java er en klasse Integeret supersæt af en primitiv type int.

For hvad?

Autowrap (autoboxing) og autoexpand

På mange sprog er indpakninger inkluderet i sprogets syntaks. Så, hvis funktionen kræver Integereller Object, vil den automatisk "pakke" nummeret i en indpakningstype. For eksempel i Java -kode

void someFunc ( Object x ) {} someFunc ( 4 );

svarende til kode

someFunc ( Heltal . valueOf ( 4 ));

Dette er, hvad auto-rotation er. På samme måde fungerer autoexpand i kode

int x = 1 + heltal . værdi Af ( 2 );

Her er typen Integerudvidet tilbage til int.

Både Java og C# Objectudvides ikke tilbage til int: Følgende kode vil derfor resultere i en fejl

Objekt x = Heltal . værdi af ( 2 ); int y = x ; // typecast fejl