【发布时间】:2014-12-05 23:44:46
【问题描述】:
我需要一点关于 java 的帮助。我只是java的初学者。但我相信我的基础很扎实。
当我的 2 个 ArrayList 对象遇到小问题时,我正在创建一个简单的 Java 应用程序。让我们称他们为list1 和list2。如果我要让 list1 等于 list2 list1 = list2; 并向 list2 list2.add(obj) 添加一个元素,那么该元素也会添加到 list1 中。
我做了研究,发现我应该这样做 list1 = new ArrayList(list2);我不知道 java 对象像指针一样工作。我认为只有当 2 个对象相等时才传递值。我什至创建了一个简单的测试应用程序,它可以设置和获取对象的数量。再次,我等于两个对象。更改 1 个对象的元素似乎也会影响另一个对象。我不知道我应该如何在谷歌上搜索这个。这就是为什么我要告诉你整个故事的原因。我只得到与 c 编程相关的文档。我觉得我的基础刚刚破碎。我只是知道= 现在是如何工作的。试过了
int num1 = 666;
int num2 = num1;
num1 = 42;
这不会影响 num2。然而,
Object obj1 = new Object();
Object obj2 = obj1;
obj1.changeSomeElement();
这会影响 obj2。
现在,我对 = 在 java 中的工作方式感到困惑。有人请分享一些有用的文档供我阅读。谢谢!
【问题讨论】:
-
没有。这些都是论据。我对 java 中的对象值如何传递给另一个对象感到困惑。
-
简单类型不是引用,只有值被
=复制 -
谢谢你。现在这很有用
标签: java