Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 泛型代码-jdk5上的编译错误,在jdk6上编译良好 Map>>dataAccessMap;_Java_Generics_Compilation - Fatal编程技术网

Java 泛型代码-jdk5上的编译错误,在jdk6上编译良好 Map>>dataAccessMap;

Java 泛型代码-jdk5上的编译错误,在jdk6上编译良好 Map>>dataAccessMap;,java,generics,compilation,Java,Generics,Compilation,用于将实体类的键->值存储到提供这些实体类的CRUD的DAO实现 Map<Class<? extends Entity<?>>, EntityDAO<? extends Entity<?>>> dataAccessMap; 支持的公共EntityDAO(类entityClass){ if(dataAccessMap.containsKey(entityClass)){ return(EntityDAO)dataAccessMap.ge

用于将实体类的键->值存储到提供这些实体类的CRUD的DAO实现

Map<Class<? extends Entity<?>>, EntityDAO<? extends Entity<?>>> dataAccessMap;
支持的公共EntityDAO(类entityClass){
if(dataAccessMap.containsKey(entityClass)){
return(EntityDAO)dataAccessMap.get(entityClass);
}
抛出新的UnsupportedOperationException();
}
这是一个查找API,用于按实体类获取DAO实现实例

在jdk1.5(jdk1.5.0_22)上,代码不会编译

public <T extends Entity<T>> EntityDAO<T> thatSupports(Class<T> entityClass) {
        if(dataAccessMap.containsKey(entityClass)) {
            return (EntityDAO<T>) dataAccessMap.get(entityClass);
        }
        throw new UnsupportedOperationException();
    }
不可转换类型的编译失败

发现:EntityDAO对我来说效果很好。请查看下面的截图


为什么要使用旧jdk。Java8已经发布now@javaBeginner,Java8尚未发布。它仍然是测试版。释放的时间表是三月2014@AbhijithNagarajan我应该说你在使用哪个版本的JDK?是JDK 1.5.22版本是1.5.0_22-b03吗
Compilation failure inconvertible types
found   : EntityDAO<capture of ? extends Entity<?>>
required: EntityDAO<T>