Sobes.tech
Назад к вопросам
Junior — Middle
66

Можно ли в коллекцию типа HashSet добавлять элементы различных типов данных?

Ответ от нейросети

sobes.tech AI

В Java коллекция типа HashSet параметризуется дженериком, например, HashSet<String> или HashSet<Object>. Если вы объявляете HashSet<Object>, то технически можно добавлять объекты любых типов, так как все классы в Java наследуются от Object.

Однако, если коллекция параметризована конкретным типом, например, HashSet<String>, то добавлять элементы других типов нельзя — компилятор выдаст ошибку.

Пример:

HashSet<Object> set = new HashSet<>();
set.add("строка");
set.add(123); // допустимо

HashSet<String> stringSet = new HashSet<>();
stringSet.add("текст");
// stringSet.add(123); // ошибка компиляции

Таким образом, можно добавлять элементы разных типов, если коллекция объявлена с типом Object или без параметризации (что не рекомендуется). Но обычно для типобезопасности используют конкретные типы.