final修饰的类型是否可变

final修饰的值类型不可变,比如final int value=2、final boolean result=1,value和result是不可再次赋值的
final修饰的引用类型,引用的对象的属性可变
比如

private static final HashMap<Object,Object> map=new HashMap<Object,Object>();
private static final int[]nums={1,2,3,4,5}
public static void main(String[]args){
	map.put(1,2);
	nums[1]=0;
	System.out.println(nums[1]);
}

map.put(1,2);可以操作成功,nums[1]的值为0
但是不可为对象开辟新的空间,比如new
也不可赋值为null
其实也就是final修饰的对象的地址不可变,对象内部变不变不是final决定的