Sto studiando la programmazione generica e non mi è chiara una cosa:
Se devo utilizzare una struttura dati che so andrà a contenere tipi primitivi, devo comunque usarla con l'autoboxing di questi tipi primitivi?
Ad esempio, un vettore che conterra integer devo definirlo così?
codice:
Vector<Integer> pippo = new Vector();
Oppure così?
codice:
Vector pippo = new Vector(); // (unsafe operation)
E' evidente che funziona in entrambi i casi.
Sono vettori che lavorano privatamente e ho la certezza che nessuno ci aggiungerà dati diversi da int.
Quale scelta è preferibile? Utilizzando l'autoboxing ho un rallentamento del programma e uno spreco di memoria o è trascurabile anche su strutture dati molto grandi?