Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.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无法将具有实现类型的集合的集合转换为接口类型_Java_Collections - Fatal编程技术网

Java无法将具有实现类型的集合的集合转换为接口类型

Java无法将具有实现类型的集合的集合转换为接口类型,java,collections,Java,Collections,我能转换 ImplementedType implements InterfaceType Map<String, ImplementedType> m1 = Maps.newHashMap(); Map<String, ? extends InterfaceType> m2 = m1; Map m1=Maps.newHashMap(); Map m2=m1; 但我无法转换 ImplementedType implements InterfaceType Map&

我能转换

ImplementedType implements InterfaceType
Map<String, ImplementedType> m1 = Maps.newHashMap();
Map<String, ? extends InterfaceType> m2 = m1;
Map m1=Maps.newHashMap();
Map m2=m1;
但我无法转换

ImplementedType implements InterfaceType
Map<String, ImplementedType> m1 = Maps.newHashMap();
Map<String, ? extends InterfaceType> m2 = m1;
Map m1=Maps.newHashMap();

这不是一个好主意。那石膏不安全。例如:

Map<String, List<? extends IOGInvoicePageCountInfo>> m2 = (Map) m1;
m2的正确类型为:

Exception in thread "main" java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.Integer

final Map这不是一个好主意。那石膏不安全。例如:

Map<String, List<? extends IOGInvoicePageCountInfo>> m2 = (Map) m1;
m2的正确类型为:

Exception in thread "main" java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.Integer
final MapCasting via(Map)使用原始类型,这是您真正不想做的事情。Casting via(Map)使用原始类型,这是您真正不想做的事情。