Java初学者问题:当我拥有
Integer i = 6;
ArrayList<Integer> ar = ArrayList<Integer>();
ar.add(i);
接着我写下了 i = 8
,ar.get(0)
返回了 6
。
但如果我用我的一个类试着做同样的事情:
class MyC
{
Integer i;
}
MyC myc = new MyC();
myc.i = 6;
ArrayList<MyC> ar = ArrayList<MyC>();
ar.add(myc);
然后执行myc.i = 8
,ar.get(0)
返回8
。
您能解释一下这种行为吗?
i=8
比它看起来的要稍微复杂一些。请注意不改变原意。 - President James K. Polkar.get(0)
不会返回 8。而ar.get(0).i
会返回 8。 - Sotirios Delimanolisint
。 - Victor Sorokinint[]
。 如果你有int i=8; array[0] = i; i = 6;
,那么array[0]
的值将是8
。 - Brett Okken