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決定的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章