2011-12-14 70 views
3

我从http连接中检索2个字符串。例如。名称和说明,并将它们存储在2个不同的阵列中。这些数组将被另一个类的我使用。我创建了两种搜索方法(searchName和searchDesc)。一切都很好,但我想让它更有效率,因为我不这样做。Android - 从方法返回多个值

我想在一个方法中创建一个连接,读取并存储它们各自的数组中的内容并返回2个数组。

换句话说,我希望应用程序仅创建一次连接/通过html代码读取而不是两次(我的当前代码)。而不是创建2个方法每个只返回1个值,我想要一个返回2个值的方法。这是可能的和如何?

+0

检查了这一点,它可能被用来帮助你。 http://stackoverflow.com/questions/457629/how-to-java-associative-array – Naterade 2011-12-14 02:52:16

+0

可能的重复[如何从Java方法返回多个对象?](http://stackoverflow.com/questions/457629/how-to- return-multiple-objects-from-a-java-method) – 2011-12-14 02:53:41

回答

18

我想要一个返回2个值的方法。这是可能的和如何?

这在Java中是不可能的。然而,由于您使用的是Java,这是一个面向对象的语言,只需创建自己的自定义数据类型和返回that..for例如:

public class ResponseObject { 

private ArrayList<String> names = new ArrayList<String>(); 
private ArrayList<String> descriptions = new ArrayList<String>(); 

public void addName(String name) { 
    names.add(name) 
} 

public void addDescription(String desc) { 
    descriptions.add(desc) 
} 

public ArrayList<String> getNames() { 
    return names; 
} 

public ArrayList<String> getDescriptions() { 
    return descriptions; 
} 

} 
2

因此,难道你不能只是在ArrayList<String>中添加你的两个值,并返回ArrayList对象,并从中得到两个值?我认为这可以做到。

否则更好的选择可以使用Map<String, String>,你可以用它来把值与键,也可以使用键。