我定義了一個數組final final int a[] = {1, 2, 3, 4, 5};如果這樣定義的話在 c = new int[3];是不行的
但是還是可以操作裏面的
如:
for(int i = 0; i < a.length; i++) {
     a[i]++;
    }
如果我想把數組裏面的也定義成常量,就是不能操作。可以嗎?在看java思想想到的。

解决方案 »

  1.   

    你要弄明白对一个java对象的reference加上了final以后,那么这个reference是不可以再一次赋值的,也就是不能出项ref1 = ....;的语句,当然在构造器当中除外。但是你可以直接用reference操作它所指向的内存,如果ref1是一个Map的话,那么你还是可以ref1.put()的;
    我不明白你怎么能把数组里面的每一个元素定义成final,根本就没有办法定义。
      

  2.   

    不可以...但你可以定义成一个二维数组..二维里面包扩一个一维数据。这个一维只有一个长度。并且是final的..但是这样也可以对一维进行附值。。