我希望创建接收类的泛型函数,然后使用Gson数据返回它。 这是我需要表达的代码示例,请您帮助我吗?
ClassType? dealWithClass (String st, Class cls)
{
Gson gson = new Gson();
return gson.fromJson(st,cls.class);
}
MyClass1 mc1 = dealWithClass("some gson string",MyClass1.class)
MyClass2 mc2 = dealWithClass("some second gson string",MyClass2.class)
答案 0 :(得分:3)
简单使用泛型:
public <T> T dealWithClass (String st, Class<T> cls)
{
Gson gson = new Gson();
return gson.fromJson(st,cls);
}
答案 1 :(得分:2)
您需要使用generic method:
就像类型声明一样,方法声明可以是通用的 - 即由一个或多个类型参数参数化。
<T> T dealWithClass(String st, Class<T> clazz) {
Gson gson = new Gson();
return gson.fromJson(st, clazz);
}