Il fondamento logico di Integer, Boolean e così via consente di utilizzare tipi primitivi in contesti che richiedono un tipo di riferimento. Il classico caso d'uso sono le API di raccolta che forniscono insiemi, elenchi, mappe, code e così via in cui il tipo di elemento deve essere un tipo di riferimento.
Così posso scrivere:
List<Integer> list = new ArrayList<Integer>();
ma il seguente è un errore di compilazione:
List<int> list = new ArrayList<int>();
Si noti che questo caso d'uso per i tipi di wrapper primitive precede entrambi i tipi generici e il "nuovo "API di collezioni e torna ai giorni in cui gli unici tipi di raccolta erano le forme originali (pre-generiche) di Vector
e Hashtable
e il loro tipo.
fonte
2010-05-21 06:18:38
Per aggiungere alla risposta, un esempio pratico memorizzerà le variabili nel contesto della sessione in un'applicazione web. – saugata
Non solo Map, tutte le classi contenitore richiedono che i loro elementi siano Object, quindi il tipo primitivo non può soddisfare questo vincolo. E i contenitori, penso, sono un aspetto in cui il linguaggio orientato agli oggetti è in grado di travolgere il linguaggio delle procedure, cosa che ti porta molta convenienza. :-) –