通用扩展类AND实现接口

时间:2012-07-26 15:17:40

标签: java generics interface enums

这可能听起来像一个奇怪的问题,但如何定义一个必须扩展类AND以实现接口的泛型?我目前拥有以下原型的通用功能:

public static <E extends Enum<E>> List<E> buildEnumList(Class<E> enumClass)

这同样有意义。我现在的问题是我想进一步将可传递的类限制为枚举并实现特定接口Readable(而不是java.lang中的接口)。由于泛型使用相同的关键字extends来表明它应该实现一个接口,我没有看到任何方法来获得以下伪行为:

public static <E extends Enum<E> implements Readable> List<E> buildLexicographicalEnumList(Class<E> enumClass)

1 个答案:

答案 0 :(得分:14)

您可以使用&表示E还必须实现接口:

public static <E extends Enum<E> & Readable> List<E> buildLexicographicalEnumList(Class<E> enumClass) {