da和菱形运算符示例:
将抛出异常:“method reference needs an explicit target-type”。
并非所有数组初始化都有效,让我们看看什么时候var与[]不起作用:
以下也不起作用:
抛出的错误是: “array initializer needs an explicit target-type”。
就像上一个例子一样,var和[]不能同时用在LHS一边:
错误: 'var' is not allowed as an element type of an array。
只有以下数组初始化是有效的:
“var”实际上只是一个语法糖,并且它不会在编译的字节码中引入任何新的结构,在运行期间,JVM也没有为它们提供任何特殊的指令。
在这篇文章中,我介绍了“var”类型是什么以及它如何减少样板编码,同时保持Java的编译时类型检查。
然后,你了解了新的JShell工具,即Java的REPL实现,它可以帮助你快速学习Java语言,并探索新的Java API及其功能。你还可以使用JShell对复杂代码进行原型设计,而不是重复编辑、编译和执行的传统繁琐流程。
最后,你了解了所有var类型的功能和限制,例如什么时候可以和不可以使用var。写这篇文章很有意思,所以我希望你喜欢它并能给你带来帮助。
查看英文原文:Explore the New Java 10 “var” Type: An Introduction and Hands-on Tutorial