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