<分区>
在使用 Java 应用程序时,我经常会遇到一个问题:为什么 Java 不支持方法的多个返回值?
我知道设计 Java 的人肯定已经思考过这个话题,但我自己思考时没有得到任何答案或特定原因。
<分区>
在使用 Java 应用程序时,我经常会遇到一个问题:为什么 Java 不支持方法的多个返回值?
我知道设计 Java 的人肯定已经思考过这个话题,但我自己思考时没有得到任何答案或特定原因。
最佳答案
如果所有值都是同一类型,您可以只返回它们的数组:
public String[] myMethod{} {}
如果不是,您有多种选择:
丑陋的方法是将所有内容都转换为对象并返回:
public Object[] myMethod{} {}
或
public List<? extends Object> myMethod() {}
这些实现的问题在于,除非您查看方法实现,否则您真的不知道对象/列表中的内容。因此,如果您知道没有其他人会使用它,它可以成为一条捷径。
有更清洁但更耗时。但这通常是一种很好的做法,因为它包含更多信息:
假设您要返回两个值,一个 int
和一个 String
。您需要设计一个代表这两个(或更多值)的对象:
public class MyResponse {
public String myString;
public int myInt;
}
并返回 MyResponse
的一个实例。请注意,我在这里公开了属性。围绕这个有多种思想流派。有些人更愿意将它们设为私有(private)并添加 getter/setter 方法。这是给你的作业。
关于java - 为什么java方法不支持多个返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23822349/