Kolekcje Java przechowują tylko obiekty, a nie typy pierwotne; jednak możemy przechowywać klasy opakowania.
Dlaczego to ograniczenie?
classmaszynę JVM. Instrukcja int i = 1definiuje wskaźnik do pojedynczej instancji obiektu, który definiuje intw JVM, ustawioną na wartość 1zdefiniowaną gdzieś w JVM. Tak, wskaźniki w Javie - jest to po prostu oddzielone od użytkownika przez implementację języka. Prymitywy nie mogą być używane jako typy ogólne, ponieważ język przewiduje, że wszystkie typy ogólne muszą być typu nadrzędnego Object- stąd dlaczego A<?>kompiluje się do A<Object>w czasie wykonywania.