Из JEP 286 мы видим, что мы сможем использовать вывод локального типа (var
) в JDK 10 (18.3), JEP утверждает, что следующие компиляции, которые ожидаются:
var list = new ArrayList<String>(); // infers ArrayList<String>
Мне интересно узнать, что произойдет, если мы попытаемся сделать следующее:
var list = new ArrayList<>();
Будет ли то, что я предложил во втором фрагменте, даже скомпилировать? Если это так (что я сомневаюсь), будет ли ArrayList
принимать Object
в качестве своего общего типа?
Я бы попробовал это сам, но у меня нет доступа к машинам, на которых я могу установить ранние выпуски.
Спасибо!