2011-12-14 69 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>,你可以用它來把值與鍵,也可以使用鍵。