Назад к вопросам
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 или без параметризации (что не рекомендуется). Но обычно для типобезопасности используют конкретные типы.