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)使用原始类型,这是您真正不想做的事情。