Java 10将新增特性:类型推断的局部变量声明var。
java9以及之前的版本,声明一个局部变量需要显式声明它的类型。Java 10引入了新的变量声明关键词var,使用它不需要我们显式声明局部变量的类型,它会自动推断出局部变量的类型。
Java 9示例:
import java.util.*;
public class Java9 {
public static void main(String... args) {
for (String arg : args) {
System.out.println(arg);
}
for (int i = 0; i < args.length; i++) {
String arg = args[i];
System.out.println(arg);
}
List<String> strings = new ArrayList<>();
strings.add("hello");
for (String string : strings) {
}
List<String> explicit = new ArrayList<>();
String name = "Hello";
name += " World";
System.out.println("name = " + name);
int var = 42; // <-- hmmm, wonder what will happen?
}
}
Java 10 var示例
import java.util.*;
public class Java10 {
public static void main(String... args) {
for (var arg : args) {
System.out.println(arg);
}
for (var i = 0; i < args.length; i++) {
var arg = args[i];
System.out.println(arg);
}
var strings = new ArrayList<String>();
strings.add("hello");
for (String string : strings) {
}
List<String> explicit = new ArrayList<>();
var name = "Hello";
name += " World";
System.out.println("name = " + name);
var var = 42; // <-- this works
}
}
var并不是保留字,在示例里,var var = 42是有效的,这种做法主要是为了兼容旧的版本。