Android - 从方法返回多个值

时间:2011-12-14 02:47:37

标签: android arrays methods

我正从http连接中检索2个字符串。例如。名称和描述,并将它们存储在2个不同的数组中。阵列将被我的另一类使用。我创建了两种搜索方法(searchName和searchDesc)。一切都工作正常,但我想提高效率,因为我没有这样做。

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

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

2 个答案:

答案 0 :(得分:18)

  

我想要一个返回2个值的方法。它有可能吗?如何?

这在Java中是不可能的。但是,由于您使用的是Java,这是一种OO语言,因此只需创建自己的自定义数据类型并返回...例如:

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;
 }

}

答案 1 :(得分:2)

那么,你不能只在ArrayList<String>中添加两个值并返回ArrayList对象并从中获取两个值吗?我认为这可以做到。

否则,更好的选择可以使用Map<String, String>,您可以使用{{1}}将值与键一起使用,也可以使用密钥。