Строка присваивается списку без ошибки компиляции [дубликат]
На этот вопрос уже есть ответ здесь:
Почему этот универсальный метод с привязкой может возвращать любой тип? 1 ответКак я знаю, одной из основных целей обобщений в Java является обеспечение безопасности типов во время компиляции. Если он скомпилирован, код будет работать без проблем.
Тогда почему следующий код компилируется?
public static void main(String[] args) {
String s = getList();
}
private static <T extends List> T getList() {
return (T)new ArrayList();
}
Компилируется нормально. Где моя типобезопасная компиляция?getList()
Метод не имеет ничего общего сString
учебный класс.