我可以想象使用通用元组类是最接近的类。为了给出一个想法,用于三个返回值的通用类可能看起来像这样:
public class T3<A, B, C> { A _1; B _2; C _3; T3(A _1, B _2, C _3) { this._1 = _1; this._2 = _2; this._3 = _3; }}
这样,被调用方就可以使用一个语句构造器,例如:
public T3<String, Integer, Character> getValues() { return new T3<String, Integer, Character>("string", 0, 'c');}
但不会执行被调用方的所有者实例构建。
每个返回值数量都需要自己的元组类。在功能Java库中可能提供了类似的内容。作为参考,这是一个N-Tuple实现。
对于二值情况,java.util.AbstractMap.SimpleEntry将这样做:
return new SimpleEntry<String, Integer>("string", 0);
无论如何,我看到多个返回值要考虑的两个重要点:
- 输入的返回值
- 指出每个返回值的含义
尽管很无聊,但我建议创建一个单独的类来保存所有响应值,并将其声明为方法返回类型。这样,可以突出显示每个值的含义。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)