Можно ли хранить разнотипные элементы в одной коллекции в Java
Да, можно, но с ограничениями. В Java коллекции могут хранить только объекты, поэтому примитивные типы нужно оборачивать в соответствующие классы-обертки (int → Integer).
Для хранения разнотипных элементов есть несколько подходов:
1. Использовать `List mixedList = new ArrayList<>();
mixedList.add("String");
mixedList.add(42); // автоупаковка в Integer
mixedList.add(new Date());
```
2. Использовать `List` для неизвестного типа:
```java
List wildcardList = new ArrayList<>();
// добавление элементов возможно только через сырой тип
```
3. Создать класс-контейнер с общим предком (например, `Object`) или использовать дженерики.
Важно: при извлечении элементов нужно делать проверку типов и приведение:
```java
Object element = mixedList.get(0);
if (element instanceof String) {
String s = (String) element;
}
```
Лучшая практика — избегать таких коллекций, где возможно, так как это может привести к ошибкам ClassCastException.