【发布时间】:2013-10-29 04:10:56
【问题描述】:
我有实现 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<....>>>>?
【问题讨论】:
-
@alfasin
extends在泛型边界中使用时表示“是、扩展或实现”。