JAVA 返回对象或按引用传递

标签 java methods return-value argument-passing

<分区>

这是初学者的问题。

在 JAVA 中,将对象作为参数传递给方法或从方法返回该对象之间有什么区别吗?例如:将 List 作为参数传递并将其填充到方法中还是只允许方法返回列表更好?

我的猜测是它应该没有区别,因为返回了一个引用并且没有复制任何内容。但背后是否有更微妙的东西?

提前致谢

阿尔托伯

最佳答案

许多评论似乎误解了你的意思。

我相信你问的是

public void myMethod(List list) {
    list.add(new Object());
}

public List myMethod() {
    List list = new ArrayList();
    list.add(new Object());
    return list;
}

如果我错了,请纠正我。

没有规则可以说哪个是对的。这完全取决于您希望如何设计程序。后一种方法不允许您使用现有列表,因此可能需要考虑性能问题。

您还可以在从方法返回值时执行方法链接,因此有时您可以同时获取参数和返回值。它的一个变体是一种方法,如果它作为参数传递,它将使用现有的列表,但如果参数为空,则创建一个新的列表。然而,这可能会让调用者感到困惑。

关于JAVA 返回对象或按引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20118594/

相关文章:

java - 是否可以在 @BeforeClass 注释方法中运行 Android Espresso 单元测试?

java - 为什么我得到这个线性布局的空值

java - Android绘图/绘画应用程序立即更新?

javascript - 检查字符串中的输入值

java - 使用java模拟并发更新计数

javascript - 重新启动 JavaScript 中的方法

java - 获取用户输入并存储到文件中的数组

java - 从类方法显示类对象

c - 未指定的返回值

c# - 不处理 C# 方法的返回值可以吗?这个例子中的好的做法是什么?