Java 使用泛型时变量赋值出错
我列出了两个类似的清单Java 使用泛型时变量赋值出错,java,generics,Java,Generics,我列出了两个类似的清单 List<LearnerEnrollment> learnerEnrollmentList = new ArrayList<LearnerEnrollment>(); List<LearnerCourseEnrollError> enrollErrorList = new ArrayList<LearnerCourseEnrollError>(); 现在我在地图上输入值 courseSuccessMap.put(learn
List<LearnerEnrollment> learnerEnrollmentList = new ArrayList<LearnerEnrollment>();
List<LearnerCourseEnrollError> enrollErrorList = new ArrayList<LearnerCourseEnrollError>();
现在我在地图上输入值
courseSuccessMap.put(learner.getVu360User().getUsername(), learnerEnrollmentList);
courseErrorMap.put(learner.getVu360User().getUsername(), enrollErrorList);
courseMap.put("successfulCoursesMap", courseSuccessMap);
courseMap.put("unSuccessfulCoursesMap", courseErrorMap);
return courseMap;
但我在这两行中有错误
courseMap.put("successfulCoursesMap", courseSuccessMap);
courseMap.put("unSuccessfulCoursesMap", courseErrorMap);
那
那么就没有错误了。为什么我在第一种情况下会出错
谢谢你说:
List
是List
这是错误的。如果这是真的,您将能够:
List<<LearnerEnrollment> list = new ArrayList<>();
List<Object> objectList = list;
objectList.add("Now what?");
List你说:
List
是List
这是错误的。如果这是真的,您将能够:
List<<LearnerEnrollment> list = new ArrayList<>();
List<Object> objectList = list;
objectList.add("Now what?");
List这是因为java中的列表不是协变的。列表
不是列表
的子类
有关更多信息,请参阅。这是因为java中的列表不是协变的。列表
不是列表
的子类
有关更多信息,请参阅
courseMap.put("successfulCoursesMap", courseSuccessMap);
courseMap.put("unSuccessfulCoursesMap", courseErrorMap);
The method put(String, Map<String,List<Object>>) in the type
Map<String,Map<String,List<Object>>> is not applicable for the arguments
(String, Map<String,List<LearnerEnrollment>>)
The method put(String, Map<String,List<Object>>) in the type
Map<String,Map<String,List<Object>>> is not applicable for the arguments
(String, Map<String,List<LearnerCourseEnrollError>>)
Map<String, Map<String, ?>> courseMap = new HashMap<String, Map<String, ?>>();
List<<LearnerEnrollment> list = new ArrayList<>();
List<Object> objectList = list;
objectList.add("Now what?");