很久以前,我们在写代码的时候,不得不仔细考虑变量的数据类型,比如下面的:枚举:虽然增加了枚举类型在JDK5中,但Class文件常量池中的CONSTANT_Class_info类型常量没有发生任何语义变化。它仍然是代表类或接口的符号引用。没有加入枚举,也没有加入“CONSTANT_Enum_info”等“枚举符号引用”常量。.因此,使用enum关键字定义常量,虽然从Java语法上看起来与使用class关键字定义类、使用interface关键字定义接口是一个级别,但实际上是一种错觉Javac编译器。从段代码来看,枚举只是一个普通的Java类,继承自java.lang.Enum,自动生成values()和valueOf()方法,所以枚举也归为引用类型。然而,到了JDK10,我们有了新的选择。在JDK10中,增加了var局部变量推断的功能。使用它,我们可以愉快地忘记数据类型。它是如何使用的?接下来我们一起来看看吧。1.使用比较下面我们就用比较的方式来体验一下var的作用。场景一:定义一个字符串旧的写法:Stringstr="Hello,Java.";新的写法:vars="Hello,Java.";PS:这里旧的写法是指JDK10之前的版本,新的写法是指JDK10之后的版本(包括JDK10)。场景二:旧的加法方式:intnum1=111;doublenum2=555.666d;doublenum3=num1+num2;System.out.println(num3);PS:遇到不同类型的加法(int+double)时,会发生数据类型upcast,所以num3会升级为double类型。新写法:varn1=111L;varn2=555.666;varn3=n1+n2;System.out.println(n3);场景三:Collection旧写法:List