有没有办法从Java方法返回多个不同的对象
例如我想要返回字符串,int,object,.. etc
感谢
答案 0 :(得分:5)
您可以返回包含结果对象的Map<Class, Object>
&#39;用其值映射的类型。
public Map<Class, Object> doSomeStuff(){
Map<Class, Object> map = HashMap<Class, Object>();
map.put(String.getClass(), "This is an example");
map.put(Object.getClass(), new Object());
//...
return map;
}
// You can then retrieve all results by
String stringVal = map.get(String.getClass());
Object objectVal = map.get(Object.getClass());
答案 1 :(得分:2)
创建一个新类并返回该类。
//Give this a more descriptive name reflecting what it REALLY is.
public static class ReturnData{
protected String foo
protected int bar
public ReturnData(String foo, int Bar) {
...
}
String getFoo() {
...
}
int getBar() {
...
}
然后在您的方法中使用您想要返回的对象实例化对象
MyMethod(...){
...
...
return new ReturnData(foo, bar);
}
中提琴!你同时归还了foo和bar。
答案 2 :(得分:1)
没有明确说明。您可以创建自己的包含eveything的类,并返回该类,或者您可以返回包含所有内容的某种形式的Object
数组(Object[]
)或列表(如ArrayList
),但是这是不推荐的。
编辑:你也可以使用上面提到的泛型,这属于你自己上课的类别,我想也会单独提到它。