java – 私有Map,V> multiMap = new HashMap,V>();
发布时间:2020-12-15 05:23:13 所属栏目:Java 来源:网络整理
导读:出什么问题了 private MapListK,V multiMap= new HashMapArrayListK,V(); 编译器说它类型不匹配:无法转换为HashMap ArrayList K,V映射 List K,V.我是否必须提供特定类别的列表?为什么? 解决方法 你必须写 private MapListK,V multiMap= new HashMapListK,
出什么问题了
private Map<List<K>,V> multiMap= new HashMap<ArrayList<K>,V>(); 编译器说它类型不匹配:无法转换为HashMap< ArrayList< K>,V>映射< List< K>,V>.我是否必须提供特定类别的列表?为什么? 解决方法
你必须写
private Map<List<K>,V> multiMap= new HashMap<List<K>,V>(); 通用参数的值必须在两侧完全匹配(只要您不使用通配符).原因是Java Generics没有对立/协方差(Has??hMap< List>不是HashMap< ArrayList>的超类型,尽管List当然是ArrayList的超类型). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |