为什么<T扩展了Enum<T>和SomeInterface>编译,而不是<T扩展了SomeInterface和Enum<T>>?
2022-09-04 07:57:14
我不明白为什么方法2不编译,而方法1编译。我正在将Eclipse与JavaSE 1.7一起使用,并且在方法2上遇到了以下错误:
此行上的多个标记
Enum<T>类型不是接口。不能将其指定为有界参数
绑定不匹配:类型 T 不是有界参数的有效替代项<E 扩展 Enum<E>> 类型 Enum<E>
public class Test {
public interface SomeInterface {
}
public static <T extends Enum<T> & SomeInterface> T method1() {
return null;
}
public static <T extends SomeInterface & Enum<T>> T method2() {
return null;
}
}