Это показывает преимущество подхода eclipse: они используют собственный java-компилятор для генерации ошибок в IDE, поэтому он всегда согласуется с реальными результатами компилятора.
a 10 мы можем использовать вывод типов.
String s1 = "hello"; // before Java 10
var s2 = "hello"; // now
Однако есть одна вещь, которую мы не могли сделать раньше: иметь переменные типанедействительным.
Итак, в предыдущих версиях мы просто не могли определить тип переменнойvoid
, Но теперь мы можем присвоить результат возврата методаvoid
к переменной:
void emptyMethod() { }
...
void v1 = emptyMethod(); // won't compile
var v2 = emptyMethod(); // no problem at all
Вопрос в том, почему он даже компилируется, для чего он служит? Есть ли у вас случай использования этой странной вещи?
Переменная типаvoid
не имеет методов, его нельзя даже использовать в качестве параметра метода.