Vis*_*kia 6 java oop methods return-value design-principles
在使用Java应用程序时,大多数时候我会感到一个问题:为什么Java不支持方法的多个返回值?
我知道设计Java的人一定已经考虑了这个主题,但是在思考自己的时候我没有得到任何答案或特定原因。
如果所有值都具有相同类型,则可以只返回它们的数组:
public String[] myMethod{} {}
如果不是,您有多种选择:
丑陋的是将所有内容都转换为对象并返回:
public Object[] myMethod{} {}
或者
public List<? extends Object> myMethod() {}
这些实现的问题是,除非您查看方法实现,否则您实际上不知道对象/列表中的内容。因此,如果您知道没有其他人会使用它,那么它可能是一个捷径。
比较干净,但比较费时间。但这通常是一个很好的做法,因为它携带更多信息:
假设您想返回两个值 anint和 a String。您需要设计一个代表这两个(或更多值)的对象:
public class MyResponse {
    public String myString;
    public int myInt;
}
并返回 的实例MyResponse。请注意,这里我将属性公开。围绕这个问题有多种思想流派。有些人更喜欢将它们设为私有并添加 getter/setter 方法。这是给你的作业。