小编Luc*_*ZAN的帖子

为什么<T扩展了Enum <T>&SomeInterface>编译,但<T扩展了SomeInterface和Enum <T >>?

我无法理解为什么method2不编译而method1编译.我在JavaSE 1.7中使用Eclipse,我在method2上遇到以下错误:

此行有多个标记

  • Enum <T>类型不是接口; 它不能指定为有界参数

  • 绑定不匹配:类型T不是Enum <E>类型的有界参数<E extends 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics enums type-bounds

11
推荐指数
2
解决办法
958
查看次数

标签 统计

enums ×1

generics ×1

java ×1

type-bounds ×1