【发布时间】:2012-04-04 04:52:08
【问题描述】:
假设我们有一个 ArrayList myArray。我想通过调用它的函数来修改一个对象。如果我这样做,会不会改变原来的对象?
myArray.get(0).myModyfyingFunction();
为了进一步澄清 - 我担心 get() 是否实际上返回对我的原始对象的引用,或者它是否只返回我的原始对象的副本。
【问题讨论】:
-
你为什么不试试看.. :) 就几行代码...
-
查看这篇文章:javaranch.com/campfire/StoryPassBy.jsp(杯子概念中的全猫遥控器很棒)
-
好点 @PrimosK :) 我想我想听听解释,并且我读过 Java 仅是按值传递。
-
@PrimožKralj - 如果您在按值传递和按引用传递的上下文中查看具有 C 背景的 java,这会令人困惑。从 C 的角度来看,Java 中的所有内容都是按值传递的。但是 Java 在
object references上工作。查看here 以获得更好的想法。 -
谢谢持戒者。还要感谢弗朗西斯科,我已经阅读了 JavaRanch 文章,现在它非常有意义。我也笑了,词的选择很好:)
标签: java arraylist pass-by-reference