我创建抽象类我ArrayList
持有者Java的抽象类功能的通用型
public abstract class ArrayHolder {
Gson g = new Gson();
}
使用像
public class MyHolder extends ArrayHolder {
ArrayList<MyType> myList = new ArrayList<MyType>();
}
我想创建抽象函数从String
和Type
参数
ArrayList
这样(String data
是String
中的JSON):这个功能应该被重写
public ArrayList<T> arrayType(String data, T type){
return g.fromJson(data, new TypeToken<ArrayList<type>(){}.getType());
}
使用它的子类
public void fillData(String data){
myList = arrayType(data, MyType.class);
}
我怎样才能做到这正常吗?
感谢
所以,如果我明白这个权利:你有一个超类C,你想要它通过C中的抽象方法填充子类D中的ArrayList? –
@RyanAmos吧。但是不是直接填写,只是返回右边类型的ArrayList –
啊,刚好使用T. new ArrayList。你不需要T型参数。 –