как в List добавить объект типа String?
Как в List<Integer> добавить объект типа String?
Возможно, странный вопрос (мне таким кажется). Задали на обучении, предварительно рассказав что в List<Integer> можно добавить только Integer.
Ответы (1 шт):
Автор решения: ЮрийСПб
→ Ссылка
Тут можно воспользоваться тем, что дженерики в Java появились не сразу и изначально интерфейс лист был без дженерика. И во имя обратной совместимости он доступен. Таким образом вы можете объявить список чисел, потом его записать в переменную с нетипизированным списком (или имеющуюся переменную скастовать). И в уже нетипизированный список компилятор позволит добавить что угодно.
Вот пример компилируемого и работающего кода:
import java.util.ArrayList;
import java.util.List;
public class MyClass {
public static void main(String args[]) {
List<Integer> list = new ArrayList<>();
List listO = list;
listO.add("test");
//или просто кастуем к нетипизированному списку
//((List) list).add("test");
System.out.println("list = " + list);
}
}
Выведет:
list = [test]