Вы можете использовать любой тип, если он имеет реализацию equals()
и hashCode()
.
Строго говоря, вы можете использовать любой ссылочный тип, но он не будет работать должным образом, если у типа нет разумных реализаций этих методов.
Обратите внимание, что вы не можете использовать примитивные типы (int
, float
, ...), но вместо этого могут использовать их типы-оболочки (Integer
, Float
, ...).Это потому, что дженерики могут обрабатывать только ссылочные типы.