对于final定义的数组或者变量是不可更改的,但是为什么我可以更改呢?见图:
第四版的11.03程序 书上直接用a【i】=9赋值,书上解释的是不能对final定义的数组进行赋值,我用的是data.a[i]=9,是可以赋值的,这两者有什么差别,为什么后面一个可以改变值
源码有问题,公司已将其列入“出版勘误”,给读者带来的不便,深表歉意。使用final修饰数组时,数组本身不能被重新赋值(读者可将源码中的“a[i] = 9;”替换为“a = null;”),但数组中的元素的值可以被改变。