Интересно, какой фактор ниже не работает в java 8, но в java 10 !
List.of(A.HI, B.HELLO)
С java 8, моя IDE предупреждает меня, что
при условии, что тип A или B не является обязательным типом
Но с java 10 он работает!
Это из-за вывода типа локальной переменной в Java 10?
Я хочу найти соответствующие документы или сообщения об этом . Спасибо.
public static void main(String[] args) {
/******** does not work in both java 8 and 10 ********/
Collection<? extends I> list = new ArrayList<>();
list.add(A.HI);
list.add(B.HELLO);
/********* does work in java10 ********/
Collection<? extends I> list = List.of(A.HI, B.HELLO);
}
interface I {
}
enum A implements I {
HI
}
enum B implements I {
HELLO
}