Почему компилятор способен правильно вывести параметр типа String
в случае возвращаемого типа функции.
public class Generics {
private static List<String> function() {
return new ArrayList<>();
}
}
но он терпит неудачу, если тип для вывода - параметр метода:
public class Generics {
public static void main(String[] args) {
method(new ArrayList<>());
}
private static void method(List<String> list) {
}
}
Ошибка в этом случае:
The method method(List<String>) in the type Generics is not applicable
for the arguments (ArrayList<Object>)