【发布时间】:2016-08-18 08:46:57
【问题描述】:
我有TaskVO 作为基类。
我有TaggingTaskVo,它扩展了TaskVO
以下是我的两个 Map 声明,第一个版本使用 Generic,第二个版本是专门的。
Map<String, List<? extends TaskVO>> genericTaskVoMap = new HashMap<String, List<? extends TaskVO>>();
Map<String, List<TaggingTaskVo>> taskVoMap = new HashMap<String, List<TaggingTaskVo>>();
为什么我不能将 taskVoMap 分配给 genericTaskVoMap ?
genericTaskVoMap = taskVoMap; //Type mismatch: cannot convert from Map<String,List<TaggingTaskVo>> to Map<String,List<? extends TaskVO>>
但是,当我将类型列表分配给彼此时,它不会抱怨。
List<? extends TaskVO> genericTaskVoList = new ArrayList<>();
List<TaskVO> taskVoList = new ArrayList<TaskVO>();
genericTaskVoList = taskVoList; //No compilation error
【问题讨论】:
标签: java generics generic-list