这听起来可能是一个奇怪的问题,但是如何定义一个必须扩展类并实现接口的泛型呢?我目前有一个具有以下原型的通用函数:
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)
您可以使用&
表明E
还必须实现一个接口:
public static <E extends Enum<E> & Readable> List<E> buildLexicographicalEnumList(Class<E> enumClass) {
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)