Java 返回数组与按引用传递

标签 java android

我正在设计一个类的 API 函数,它将返回一个数组供客户端使用。但我不太确定是否应该将其作为返回值或将其作为函数的参数。请参见下文:

方法一:

MyObject[] getMyObject() {... return someObject;}

方法二:

void getMyObject(MyObject[] someObject) {...//assign value to someObject[index]};

在 Android API 中,我发现返回 List<MyObject> 是很常见的。或Set<MyObject> 。这是否表明方法一更好?那么Java中这两种方法各有什么优缺点呢?

更新:在方法 II 中,我的意思是为 someObject[index] 赋值,而不是 someObject。我的问题不是关于“Java 是否传递引用或值”。这只是简单地比较两种可行的做事方式。

最佳答案

数组的大小不可调整。因此,使用方法 1,您可以创建一个大小合适的新数组并将其返回。使用方法 2,如果传入的数组大小错误,您就会陷入困境。

Java 没有引用传递。因此,在方法 2 中将某些内容分配给 someObject 不会对调用者执行任何操作。您只能更改 someObject元素

关于Java 返回数组与按引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18477739/

相关文章:

java - 确定此 REST 应用程序背后的工具?

android - "Too many open files"- 无法删除目录

java - 在 TLS1.2 上创建 ActiveMQ 连接

java - 简单的 NetBeans servlet,按钮不起作用

java - 如果玩家还没有 gem 则默认

android - 批量选择位图/ImageViews android

android - 工具提示内的 Bottom Sheet 无法正常工作,此弹出窗口显示在 Bottom Sheet 后面

java - 如何正确保存包含RealmList的对象?

java - 带有改造 2.0 的 POST

java - JTable Nimbus Look and Feel - 如何明确哪个单元格具有焦点