我有三个实体:
第一个
public class TransEntity<T extends DataEntity<?>> {}
第二个
public class Entity1 extends DataEntity<Entity1> {}
第三个
public class Entity2 extends DataEntity<Entity2> {}
然后我写一下代码,编辑就报错了。
public <T extends DataEntity<?>> void test() {
List<TransEntity<T>> transEntityList = ListUtils.newArrayList();
TransEntity<Entity1> transEntity1 = new TransEntity<>();
TransEntity<Entity2> transEntity2 = new TransEntity<>();
/*这两行代码会报错,传入参数类型不对*/
//期望的参数是TransEntity<T>,但是传入的是TransEntity<Entity1>
transEntityList.add(transEntity1);
transEntityList.add(transEntity2);
/***************************************/
}
请教大家这是什么情况呢,我有业务逻辑需要类似的写法,应该是我对泛型还不了解吧。