final一個基礎問題
我定義了一個數組
final final int a[] = {1, 2, 3, 4, 5};
如果這樣定義的話在 c = new int[3];是不行的
但是還是可以操作裏面的
如:
for(int i = 0; i < a.length; i++) {
a[i]++;
}
如果我想把數組裏面的也定義成常量,就是不能操作。可以嗎?
在看java思想想到的。
问题点数:20、回复次数:3Top
1 楼doway(john)回复于 2006-03-02 13:30:22 得分 6
应该是不可以。Top
2 楼sandyen(杉叶)回复于 2006-03-02 14:40:50 得分 7
你要弄明白对一个java对象的reference加上了final以后,那么这个reference是不可以再一次赋值的,也就是不能出项ref1 = ....;的语句,当然在构造器当中除外。但是你可以直接用reference操作它所指向的内存,如果ref1是一个Map的话,那么你还是可以ref1.put()的;
我不明白你怎么能把数组里面的每一个元素定义成final,根本就没有办法定义。Top
3 楼725137(2006年不会菜)回复于 2006-03-02 14:52:59 得分 7
不可以...但你可以定义成一个二维数组..二维里面包扩一个一维数据。这个一维只有一个长度。并且是final的..但是这样也可以对一维进行附值。。Top




