主要观点:Java 10 引入了 var 关键字用于声明变量,可节省打字时间并提高代码可读性,类似其他 JVM 语言的局部变量类型推断。
关键信息:
- Java 10 的 var 关键字可在不指定类型的情况下声明变量,如
var str = "Java 10"
。 - 示例包括各种数据结构的声明,如
var list = new ArrayList<String>()
等。 - var 只能用于声明局部变量,不能用于声明成员变量、形式参数或方法返回类型等。
- 此功能基于 JEP 286:Local-Variable Type Inference,由 Brian Goetz 撰写。
- Java 仍是静态类型语言,使用 var 需有足够信息让编译器推断类型,否则会报错。
- var 类似其他语言的相关关键字,但不是真正的关键字,是保留类型名。
- Java 10 暂不支持局部变量的不可变等价物(val 和 let)。
重要细节: - 与其他语言对比,如 JavaScript 有
let
和var
,Scala 和 Kotlin 有var
和val
等。 - 在 Java 8 中引入 lambda 表达式等虽改进了类型推断,但局部变量仍需指定类型,Java 10 改变了这一情况。
- 展示了 var 在 try-with-resource 语句等场景中的使用,使代码更简洁。
- 提到可通过 Sander 的 Pluarlsight 课程学习 Java 10 的新特性,该课程可免费试用 10 天。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。