故障排除“类型参数T隐藏类型T”警告
我在Eclipse(最新版本)中收到以下代码的警告。
public interface A<T> extends B<T> { public T getObject();
}
该警告出现在“ A”中的“ T”处,并显示:“类型参数T隐藏了类型T”。
奇怪的是,以下代码不生成任何错误或警告。
public interface A extends B<T> { public T getObject();
}
但是现在我不能在告诉它T是什么类型的同时扩展A了。
我完全感到困惑。有人知道为什么会这样吗?谢谢。
回答:
您是否在某个地方有一个名为的类或接口T
,或者您在某个地方将其T
用作具体的类型名称,而不是用作类型参数(这意味着您可能已经忘记了其他地方(例如在封闭的类中)来指定它T
是类型参数)
)?我可以重现您的问题:
class T { // A concrete type T}
interface B<T> { // warning: The type parameter T is hiding the type T
}
interface A<T> extends B<T> { // warning: The type parameter T is hiding the type T
T getObject();
}
如果我删除class T
,它将消失。
以上是 故障排除“类型参数T隐藏类型T”警告 的全部内容, 来源链接: utcz.com/qa/405154.html