继承或者实现某个带泛型类的时候,不能直接在继承的泛型类上给定一个具体泛型,不然会抛出异常java.lang.class cannot be cast to java.lang.reflect.ParameterizedType。 比如下面我们定义两个个泛型类:
public abstract class SimpleCallBack<T> {
.......
}
abstract class BaseCallBack<T> : SimpleCallBack<T>() {
....
}
BaseCallBack 继承SimpleCallBack这个泛型类,如果直接向下面这样写的话就会抛出异常:
abstract class BaseCallBack: SimpleCallBack<String>() {
....
}
具体什么原因还没找到,有时间再去仔细研究一下。