我有以下类和接口:
public class Entity {}
public interface EntitySet<T extends Entity> {}
现在我想编写实现EntitySet
接口的类并重用类型T
。我试过以下:
public class Method1EntitySet<T> implements EntitySet<T extends Entity>{}
这给了我错误:
令牌上的语法错误&#34;扩展&#34;,预期
所以我试过了:
public class Method1EntitySet<T> implements EntitySet<T>{}
这给了我错误:
绑定不匹配:类型T不是EntitySet类型的有界参数的有效替代
这有效:
public class Method1EntitySet<T> implements EntitySet{}
但它给了我警告:
EntitySet是一种原始类型。应参数化对泛型类型EntitySet的引用。
另外我想,T
以上不会被迫延长Entity
。
我该如何完成这项工作?
答案 0 :(得分:4)
类型绑定应该是声明泛型类型参数T
的位置:
public class Method1EntitySet<T extends Entity> implements EntitySet<T>{}