例子:
1 int a = 2;
2 int b = a;
3 b = 3;
这个时候a的值还是2,因为第2行是传递的值。
30 List list = new ArrayList ();
31 list.add(1);
32 list.add(2);
35
36 //迭代
37 Iterator itrt = list.iterator();
38 while(itrt.hasNext()){
39 int x= (Integer)itrt.next();
40 x = 10; //list改值
41 }
39行的赋值貌似就是把x当成list里面当前元素的别名了,因为40行赋值后,list里面的值改变了,全都变成了10。
问题:
1,这个别名和引用有什么关系吗?
2,怎么判断java中的赋值?iterator的next里面有一段说明Returns the next element in the iteration. 跟这个有什么关系吗?
没有指针有点不适应,因为不懂概念,描述问题也不是很清楚,请各位大侠不吝赐教
因为40行赋值后,list里面的值改变了,全都变成了10。
扯淡吧,你再看一遍,list内的值不会改的。
没有什么别名。java里的对象分为值类型和引用类型,引用类型就是你说的指针的概念,但是int类型是值类型,所以不会出现你说的情况。
迭代器的next方法是返回迭代器的下一个元素,然后把指针向前移动一位啊。