Map<Class<? extends Entity<?>>, EntityDAO<? extends Entity<?>>> dataAccessMap;
用于将实体类的键 -> 值存储到为这些实体类提供 CRUD 的 DAO 实现。
public <T extends Entity<T>> EntityDAO<T> thatSupports(Class<T> entityClass) {
if(dataAccessMap.containsKey(entityClass)) {
return (EntityDAO<T>) dataAccessMap.get(entityClass);
}
throw new UnsupportedOperationException();
}
这是一个查找 API,用于通过实体类获取 DAO 实现实例。
在 JDK 1.5 (jdk1.5.0_22) 上,代码无法编译。
Compilation failure inconvertible types
found : EntityDAO<capture of ? extends Entity<?>>
required: EntityDAO<T>
但是代码在 JDK 6 (1.6.45) 上编译和执行良好
有没有一种方法可以在 JDK 1.5 上以不同的方式进行编译。该方法肯定必须返回一个 EntityDAO