我在eclipse(最新版本)中收到以下代码的警告.
public interface A<T> extends B<T> {
public T getObject();
}
Run Code Online (Sandbox Code Playgroud)
警告出现在'A'中的'T'处,并显示:"类型参数T隐藏类型T".
奇怪的是,以下代码不会生成任何错误或警告.
public interface A extends B<T> {
public T getObject();
}
Run Code Online (Sandbox Code Playgroud)
但是现在我不能在告诉它T是什么类型时扩展A.
我完全糊涂了.任何人都知道为什么会这样吗?谢谢.
在我的界面中:
public <T> Result query(T query)
Run Code Online (Sandbox Code Playgroud)
在我的第一个子类中:
public <HashMap> Result query(HashMap queryMap)
Run Code Online (Sandbox Code Playgroud)
在我的第二个子类中:
public <String> Result query(String queryStr)
Run Code Online (Sandbox Code Playgroud)
第一个子类根本没有编译警告,而第二个子类有:类型参数String隐藏类型String?我理解我的参数被泛型类型隐藏了.但是我想知道究竟发生了什么?