# Java10新特性
# var关键字
# 基本用法
var关键字是Java10新增的局部变量类型推断关键字,它允许编译器根据变量的初始化值自动推断出变量的实际类型,无需程序员显式声明。
var不是一个新的类型,编译后替换为具体类型。
作用:简化代码书写,减少冗余,尤其在处理泛型(如 Map<String, List<User>>)这类复杂类型时效果显著。
public class VarDemo {
public static void main(String[] args) {
var str="hello world";
var map=new HashMap<String,String>();
var num=2;
System.out.println(str.getClass().getName());//java.lang.String
System.out.println(map.getClass().getName());//java.util.HashMap
System.out.println(((Integer) num).getClass().getName());//java.lang.Integer
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
注意:基本数据类型没有getClass()方法,所以要装箱才能展示其装箱后的数据类型,这样就有些多此一举了,但是在IDEA中你可以把鼠标放在num那里,也可以看到数据类型为int。
# var的使用规则
1.var仅用于局部变量的声明
2.var声明时必须初始化,这样他才能判断类型
3.不能用空值初始化
温馨提示 :如果在项目中太多的使用var会导致代码可读性降低
# 应用程序类数据共享(学一下思路)
传统方式:每个 JVM 实例加载自己的类副本
新特性核心思路:将JDK核心类和应用程序类打包到同一个共享归档文件中,多个JVM实例同时映射到同一个归档文件中,通过共享读取减少启动时间
