Java 通配符(?)在键入“时起作用”;";不';t在泛型中-为什么?

Java 通配符(?)在键入“时起作用”;";不';t在泛型中-为什么?,java,generics,Java,Generics,我对java中的泛型一无所知。我有一个名为RIEngine的界面 我正在尝试以下示例: private <T> boolean allExist(List<T extends RIEngine> resultedList, String... columnName) { ... } private boolean allExist(列表结果列表, 字符串…列名称) { ... } 不编译 但是 private

我对java中的泛型一无所知。我有一个名为
RIEngine
的界面

我正在尝试以下示例:

private <T> boolean allExist(List<T extends RIEngine> resultedList, 
                             String... columnName)
{ ... }
private boolean allExist(列表结果列表,
字符串…列名称)
{ ... }
不编译

但是

private boolean allExist(列表尝试以下操作:

private <T extends RIEngine> boolean allExist(List<T> resultedList, String... columnName){...
private boolean allExist(List resultedList,String…columnName){。。。
您需要将类型边界放在类型声明中,而不是放在使用它的地方


第二个方法编译的原因是它是一个通配符(您可以使用它,而无需事先声明为该方法的类型)

请给出一个不可编译的最小示例。Sun在这方面有一个非常好的教程:。另外,它与的完全相同,在您的第二个示例中,您根本没有使用
t
。因此
private boolean allExist(比我快27秒,请列出+1:)请接受这个答案。我只是在我的帖子发送后才注意到的。
private <T extends RIEngine> boolean allExist(List<T> resultedList, String... columnName){...