Map<Class<? extends Entity<?>>, EntityDAO<? extends Entity<?>>> dataAccessMap;
用于存储密钥 - &gt;实体类的值,为提供这些实体类的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
答案 0 :(得分:0)
对我来说很好。请在下面截图