我认为一切都基于Java中的引用。我有一个包含子List的复杂对象。
ParentObj
|-- ...
|-- List<String> childList
当我直接修改childList时,我看到“ParentObj”相应地更新了它的childList引用。
childList.add("Hello");
但是当我做的时候
if (childList == null) {
childList = new ArrayList<String>();
}
我看到“ParentObj”仍然有一个NULL子列表!关于这种情况有些不同,我希望ParentObj引用能够像设置/添加一样进行更新。
答案 0 :(得分:-2)
Java按值传递引用。这意味着作为方法参数传递的引用的副本。因此,当您指定childList
并且它不是原始引用时,则会对重复引用进行分配。
这就是你应该使用setter
方法的原因。