【发布时间】:2010-12-28 06:43:34
【问题描述】:
我基本上是在发出网络请求并接收 JSON 响应。根据请求,我将 JSON 请求解析为我创建的对象。无论我解析成什么样的对象,解析几乎都是一样的。所以我有一堆方法只对不同的对象做同样的工作,我想知道我怎么能用泛型来完成这个?这是一个例子
public static ArrayList<Contact> parseStuff(String responseData) {
ArrayList<Person> People = new ArrayList<Person>();
try {
JSONArray jsonPeople = new JSONArray(responseData);
if (!jsonPeople.isNull(0)) {
for (int i = 0; i < jsonPeople.length(); i++) {
People.add(new Person(jsonPeople.getJSONObject(i)));
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
}
return People;
}
【问题讨论】:
-
您可能不想使用泛型。您正在解析多少个不同的对象?解析每个对象的代码是否相同?
-
是的,除了对象不同,代码基本相同,所以在我发布的示例中,我有完全相同的方法,只是你可以将联系人对象替换为人员对象
-
你需要返回多少个不同的类类型。
-
每次运行这个方法,只会返回一个类类型
标签: java android json generics