有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java绑定不匹配:类型A不是TestService类型<T>

我在编译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) 个答案

  1. # 1 楼答案

    错误只是告诉您,您在这里使用的类型参数Tpublic abstract class TestService<T extends Entity> implements Serializable {是扩展Entity的绑定参数

    然而,在这里public class MyService extends TestService<A> {,您正在指定一个未绑定的参数A

    我不确定它是否与Java版本5以后的版本有任何关系,您可以参考此Type Erasure