我需要java中的一点帮助。我只是一个java的初学者。但我相信我的基金会非常稳固。当两个对象相等时会发生什么
我在创建一个简单的java应用程序时,遇到了一个与我的ArrayList对象有关的轻微问题。我们称他们为list1
和list2
。如果我要让list1等于list2 list1 = list2;
并向list2 list2.add(obj)
添加一个元素,那么元素也会添加到list1中。
我做了我的研究,发现我应该这样做list1 = new ArrayList(list2);
我不知道java对象像指针一样工作。我认为只有当两个对象相等时才会传递这些值。我甚至创建了一个简单的测试应用程序,可以设置和获取一些对象。再次,我等于两个对象。更改1对象的元素似乎也会影响其他对象。我不知道如何在Google上搜索这些内容。这就是为什么我给你提供整个故事。我只能获得与c编程相关的文档。我觉得我的基金会被打破了。我只是知道=
现在如何运作。试过做
int num1 = 666;
int num2 = num1;
num1 = 42;
这不影响num2。然而,
Object obj1 = new Object();
Object obj2 = obj1;
obj1.changeSomeElement();
这会影响obj2的。
现在,我很困惑=
如何在java中工作。请有人分享一些有用的文档给我阅读。谢谢!
NOP。这些是争论。我对如何在java中的对象值传递给另一个对象感到困惑。 – user859385 2014-12-05 14:51:21
简单类型不是引用,只有值被复制'=' – rzysia 2014-12-05 14:52:40
看看http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value – starf 2014-12-05 14:52:46