Kolekcje Java przechowują tylko obiekty, a nie typy pierwotne; jednak możemy przechowywać klasy opakowania.
Dlaczego to ograniczenie?
class
maszynę JVM. Instrukcja int i = 1
definiuje wskaźnik do pojedynczej instancji obiektu, który definiuje int
w JVM, ustawioną na wartość 1
zdefiniowaną 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.