Java中,怎麼在使用自己写的工具类时指定泛型T的类型?
publicclassJsonUtils{publicstatic<T>List<T>objGson(Stringjson)throwsJSONException{JSO...
public class JsonUtils {
public static <T> List<T> objGson(String json) throws JSONException {
JSONArray jsonObject = new JSONObject(json).getJSONArray("data");
String data = jsonObject.toString();
// Log.d("!!!",data+"");
List<T> obj = getArrayBean(data);
return obj;
}
public static <T> List<T> getArrayBean(String json) {
List<T> list;
Gson gson = new Gson();
Type type = new TypeToken<List<T>>() {
}.getType();
Object fromJson2 = gson.fromJson(json, type);
list = (List<T>) fromJson2;
return list;
}
}
这是解析Json的方法,后台喜欢在数组前再那个对象包装起来,所以我写了这个方法来提取"data"数组,用Gson解析,但在T这里出现了问题,我怎么做才能在每次使用的时候指定T的类型?
例如:这次我是要返回List<Users>,下一次我要返回List<News> 展开
public static <T> List<T> objGson(String json) throws JSONException {
JSONArray jsonObject = new JSONObject(json).getJSONArray("data");
String data = jsonObject.toString();
// Log.d("!!!",data+"");
List<T> obj = getArrayBean(data);
return obj;
}
public static <T> List<T> getArrayBean(String json) {
List<T> list;
Gson gson = new Gson();
Type type = new TypeToken<List<T>>() {
}.getType();
Object fromJson2 = gson.fromJson(json, type);
list = (List<T>) fromJson2;
return list;
}
}
这是解析Json的方法,后台喜欢在数组前再那个对象包装起来,所以我写了这个方法来提取"data"数组,用Gson解析,但在T这里出现了问题,我怎么做才能在每次使用的时候指定T的类型?
例如:这次我是要返回List<Users>,下一次我要返回List<News> 展开
1个回答
2016-06-27
展开全部
调用的时候传类型,公用的方法写T就行了或者不写。T只是占位置的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询