我有一个方法,它的参数是一个带类型的List,该方法继承自另一个(带类型的)类。
让我们简化一下:
public class B<T> {
public void test(List<Integer> i) {
}
}
B类有一个无用的通用类型T,而test()需要一个整数列表。
现在如果我这样做:
public class A extends B {
// don't compile
@Override
public void test(List<Integer> i) {
}
}
我遇到了一个错误 "The method test(List) of type A must override or implement a supertype method",这不应该发生。
但是如果去掉列表类型的声明,就可以解决问题……虽然这并不依赖于类的泛型。
public class A extends B {
// compile
@Override
public void test(List i) {
并且将无用的通用类型定义为使用类型列表
public class A extends B<String> {
// compile
@Override
public void test(List<Integer> i) {
我不知道应该怎么办,B的泛型不应该影响test()列表的类型。有人知道发生了什么吗?
谢谢
java.security.PreivilegedAction
时不返回值(返回null
-它是唯一有效的Void
引用)。 - Tom Hawtin - tackline