我有实现 MyInterface 的枚举。在使用该枚举创建其他类时,我想将 enumClz 限制为已实现 MyInterface 的类。
T extends Enum< T extends MyInterface>
所以我在泛型类型声明中将签名描述为“ ”。
public <T extends Enum< T extends MyInterface>> C1( Class<T> enumClz) {
for (T anEnumConst : enumClz.getEnumConstants()) {
//....process
}
}
令我惊讶的是 IDE 说它在“”处是“意外绑定” T extends MyInterface
。我不知道这样两个字的错误信息是什么意思,有什么解决办法吗?
顺便说一句,出于好奇,我有一个奇怪的问题,虽然不是很重要。一个枚举类型T能否等价于下面的无限循环
<T extends Enum< T extends Enum<T extends<....>>>>
?