在 Java 10 中,我们可以使用类型推断。
String s1 = "hello"; // before Java 10
var s2 = "hello"; // now
然而,有一件事我们以前不能做:拥有void类型的变量。
因此,在以前的版本中,我们根本无法定义变量 type void
。但是现在我们可以将方法返回void
的结果分配给变量:
void emptyMethod() { }
...
void v1 = emptyMethod(); // won't compile
var v2 = emptyMethod(); // no problem at all
问题是 - 为什么它甚至可以编译,它的目的是什么?你有这个奇怪的东西的用例吗?
类型变量void
没有方法,甚至不能作为方法的参数。