序言:我知道使用列表或其他集合来返回结果,但是随后我必须遍历列表以将结果取出:请参阅第二个示例
前言2:我正在寻找“ Java不支持…”之外的答案。
我正在寻找一种从Java方法调用返回多个对象的便捷方法。
有点像PHP:
list ($obj1, $obj2, ...) foobar();
我真的厌倦了在参数中传递持有者对象,例如:
class Holder {
int value;
}
Holder h1=new Holder();
Holder h2=new Holder();
然后:
o.foobar(h1,h2);
如果有人想出一种优雅的方法来解决这个问题,那将非常有兴趣。
使用清单
List = foobar();
这有两个缺点:
我必须先将清单装在房子的被叫方:
// this is on the callee side of the house
ArrayList result = new ArrayList
result.add("foo");
result.add("bar");
然后在主叫方,我必须摘录结果:
// This is on the caller side
List result = foobar();
String result1 = result.get(0);
String result2 = result.get(1); // this is not as elegant as the PHP equivalent
进一步说,我想返回不同类型的对象,例如String,Integer,我将必须返回一个Objects列表,然后强制转换每个对象…
谢谢。