绑定不匹配:类型A不是TestService <t>类型的有界参数<t extends =“”entity =“”>的有效替代

时间:2016-05-16 04:43:17

标签: java generics

我在编译MyService时遇到此异常。 这里的泛型定义有什么问题?

public interface Entity extends Serializable{

    public <T extends Serializable> T getId();

}

public  class A  implements Entity {
... some code
}



public abstract class TestService<T extends Entity> implements Serializable {
...some code
}

public class MyService extends TestService<A> {
...some code
}

1 个答案:

答案 0 :(得分:0)

错误只是告诉你在这里使用的类型参数 T public abstract class TestService<T extends Entity> implements Serializable {是一个扩展Entity的绑定参数。

然而,public class MyService extends TestService<A> {,您指定了未绑定的参数 A

我不确定它是否必须对Java版本5开始做任何事情,你可以参考Type Erasure