Android 通过抽象类的泛型行为

Android 通过抽象类的泛型行为,android,generics,abstract-class,Android,Generics,Abstract Class,我正在使用GSON库向json提供,并将json功能提供给我的模型。 例如,这里是我需要在我的存储实体中执行的操作 public String toJSON() { Gson gson = new Gson(); return gson.toJson( this ); } public static Store fromJSON( String json ) { Gson gson = new Gson();

我正在使用GSON库向json提供,并将json功能提供给我的模型。 例如,这里是我需要在我的存储实体中执行的操作

    public String toJSON() {
        Gson gson = new Gson();
        return gson.toJson( this );
    }

    public static Store fromJSON( String json ) {
        Gson gson = new Gson();
        return gson.fromJson(json, Store.class);
    }
对于其他类也必须做同样的事情,唯一的区别是fromJSON方法中的返回类型。 现在,我希望有一个抽象类为其子级提供这种行为。下面的例子当然是不正确的

public abstract class JSONModel<T> {

    public String toJSON() {
        Gson gson = new Gson();
        return gson.toJson( this );
    }

    public static T fromJSON( String json ) {
        Gson gson = new Gson();
        return gson.fromJson(json, T.class);
    }
}
公共抽象类JSONModel{
公共字符串toJSON(){
Gson Gson=新的Gson();
返回gson.toJson(this);
}
公共静态T fromJSON(字符串json){
Gson Gson=新的Gson();
返回gson.fromJson(json,T.class);
}
}

对不起,这是java及其f**伪泛型。。。您不能使用
t.class
。。。你需要使用一些黑客,比如超级类型令牌(我认为Gson也使用它们-fx:TypeToken类)