<分区>
如何继承这个类?以下代码已损坏,但它显示了我正在努力实现的目标。
边界不匹配:类型 T 不是 ActivityInstrumentationTestCase2 类型的有界参数的有效替代
public class MyClass<T> extends ActivityInstrumentationTestCase2<T> {
public MyClass (Class<T> clazz) {
super(clazz);
}
}
<分区>
如何继承这个类?以下代码已损坏,但它显示了我正在努力实现的目标。
边界不匹配:类型 T 不是 ActivityInstrumentationTestCase2 类型的有界参数的有效替代
public class MyClass<T> extends ActivityInstrumentationTestCase2<T> {
public MyClass (Class<T> clazz) {
super(clazz);
}
}
最佳答案
ActivityInstrumentationTestCase2 的类定义是什么?
ActivityInstrumentationTestCase2 很可能定义为:
class ActivityInstrumentationTestCase2<T extends SomeObject> {
...
}
在这种情况下,您的对象的参数需要保持在其父类(super class)的参数范围内。
例如:
public class MyObject<T extends SomeObject> extends ActivityInstrumentationTestCase2<T> {
...
}
您还可以使参数更窄。所以,如果 MySomeObject 扩展了 SomeObject 你也可以说:
public class MyObject<T extends MySomeObject> extends ActivityInstrumentationTestCase2<T> {
...
}
编辑添加: 我刚找到 this .我假设您使用的是同一个,因此需要将其定义为:
public class MyObject<T extends android.app.Activity> extends ActivityInstrumentationTestCase2<T> {
...
}
关于Java - 从接受泛型的类继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462186/