关于java的问题:刚才在写一个java程序,其中有一段代码是这样的: List<Object>
关于java的问题:刚才在写一个java程序,其中有一段代码是这样的:List<Object>a=newArrayList<Object>();..........pub...
关于java的问题:刚才在写一个java程序,其中有一段代码是这样的:
List<Object> a=new ArrayList<Object>();
..........
public void aa(){■
List<Object> b=new ArrayList<Object>();■
b.addAll(a);■
new C().sub(b);■
}
a里面原本有一个值为5.02的bigdecimal
我在带正方形的地方都加上了一句System.out.println(a.toString());
输出却是这样的
5.02
5.02
5.02
1
为什么会这样?5.02不是应该不变的吗?我仔细看了很多次代码,非常非常确定在进行aa()的时候没有任何其它代码改变a里的元素
那为什么会出现这种情况?我已经被这个问题困扰了两个小时了,谁能帮我一下,谢谢! 展开
List<Object> a=new ArrayList<Object>();
..........
public void aa(){■
List<Object> b=new ArrayList<Object>();■
b.addAll(a);■
new C().sub(b);■
}
a里面原本有一个值为5.02的bigdecimal
我在带正方形的地方都加上了一句System.out.println(a.toString());
输出却是这样的
5.02
5.02
5.02
1
为什么会这样?5.02不是应该不变的吗?我仔细看了很多次代码,非常非常确定在进行aa()的时候没有任何其它代码改变a里的元素
那为什么会出现这种情况?我已经被这个问题困扰了两个小时了,谁能帮我一下,谢谢! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询