var
在 JDK 10 及更高版本中,您可以使用 var 标识符声明具有非空初始化式的局部变量,这可以帮助您编写简洁的代码,消除冗余信息使代码更具可读性,谨慎使用。
var 声明局部变量
var 特点:
- var 是一个保留字,不是关键字(可以声明 var 为变量名)
- 方法内声明的局部变量,必须有初值
- 每次声明一个变量,不可复合声明多个变量。var s1 = "Hello", age = 20; // Error
- var 动态类型是编译器根据变量所赋的值来推断类型
- var 代替显示类型,代码简洁,减少不必要的排版,混乱
var 优缺点: - 代码简洁和整齐。
- 降低了程序的可读性(无强类型声明)
示例:
// 通常:
try (Stream<Customer> result = dbconn.executeQuery(query)) {
// ...
}
// 推荐:
try (var customers = dbconn.executeQuery(query)) {
// ...
}
什么时候使用 var
- 简单的临时变量
- 复杂,多步骤逻辑,嵌套的表达式等,简短的变量有助理解代码
- 能够确定变量初始值
- 变量类型比较长时
示例:
public void fun1() {
var s1 = "lisi";
var age = 20;
for(var i = 0; i < 10; i++) {
System.out.println("i = " + i);
}
List<String> strings = Arrays.asList("a", "b", "c");
for (var str : strings) {
System.out.println("str = " + str);
}

浙公网安备 33010602011771号