Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 处理泛型和继承时出现绑定不匹配错误_Java_Generics_Inheritance - Fatal编程技术网

Java 处理泛型和继承时出现绑定不匹配错误

Java 处理泛型和继承时出现绑定不匹配错误,java,generics,inheritance,Java,Generics,Inheritance,我有以下类和接口: public class Entity {} public interface EntitySet<T extends Entity> {} 这给了我一个错误: 标记“扩展”上的语法错误,应为 所以我试着: public class Method1EntitySet<T> implements EntitySet<T>{} 公共类Method1EntitySet实现EntitySet{} 这给了我一个错误: 绑定不匹配:类型T不是类型

我有以下类和接口:

public class Entity {}
public interface EntitySet<T extends Entity> {}
这给了我一个错误:

标记“扩展”上的语法错误,应为

所以我试着:

public class Method1EntitySet<T> implements EntitySet<T>{}

公共类Method1EntitySet实现EntitySet{}
这给了我一个错误:

绑定不匹配:类型T不是类型EntitySet的绑定参数的有效替代品

这项工作:

public class Method1EntitySet<T> implements EntitySet{} 

公共类Method1EntitySet实现EntitySet{}
但它给了我警告:

EntitySet是原始类型。对泛型类型EntitySet的引用应参数化

我还想,上面的
T
并没有被强制扩展
实体


我应该如何完成此操作?

类型绑定应该在声明泛型类型参数
T
的位置:

public class Method1EntitySet<T extends Entity> implements EntitySet<T>{}

公共类Method1EntitySet实现EntitySet{}

类型绑定应该在声明泛型类型参数
T
的位置:

public class Method1EntitySet<T extends Entity> implements EntitySet<T>{}

公共类Method1EntitySet实现EntitySet{}

如果我想指定
T
的类型,而不仅仅是
T扩展实体
公共类方法1EntitySet实现EntitySet{}
。如果您正在指定它,则不再需要类型变量。@如果是这样,您将无法在
implements EntitySet
子句中使用t。您不明白。你是说@AndyTurner错了吗。他说的话似乎起作用了。@anir也许我没有听你的评论。如果您根本不想使用t,可以按照Andy的建议来做。如果我想指定
t
的类型,而不仅仅是
t扩展实体
公共类方法1EntitySet实现EntitySet{}
,该怎么办。如果您正在指定它,则不再需要类型变量。@如果是这样,您将无法在
implements EntitySet
子句中使用t。您不明白。你是说@AndyTurner错了吗。他说的话似乎起作用了。@anir也许我没有听你的评论。如果你根本不想使用t,你可以按照安迪的建议去做。