var关键字是Java 10引入的局部变量类型推断特性的延续,它允许开发者在不显式声明变量类型的情况下,通过初始化表达式自动推断变量类型。以下是关于var关键字的要点:
-
基本用法
var适用于局部变量声明,编译器会根据右侧的初始化表达式自动推断类型:javaCopy Code var list = new ArrayList<String>(); // 推断为ArrayList<String> var name = "Java"; // 推断为String -
限制条件
- 必须显式初始化,否则无法推断类型。
- 不能用于方法参数、返回值或字段声明。
- 不能赋值为null(因为无法推断具体类型)。
-
设计目的
- 减少冗余代码,提升可读性,尤其在泛型或复杂类型声明时更明显。
- 保持编译时类型安全,实际类型在编译期确定,运行时无性能损耗。
-
实际场景建议
- 适合用于直观的初始化场景(如
var stream = Files.lines(path))。 - 避免过度使用导致代码可读性下降(如
var obj = someComplexExpression())。
- 适合用于直观的初始化场景(如