Java 为什么它不允许我向集合中添加模块?

Java 为什么它不允许我向集合中添加模块?,java,set,add,Java,Set,Add,模块是一个抽象类,它有两个子类。我想向集合中添加一个模块,但在我调用add函数的地方它不会编译。为什么? public void recordModules(Student student, Set<? extends Module> modules) { if (student != null && modules != null){ Set<Student> students = records.key

模块是一个抽象类,它有两个子类。我想向集合中添加一个模块,但在我调用add函数的地方它不会编译。为什么?

    public void recordModules(Student student, 
        Set<? extends Module> modules) {
    if (student != null && modules != null){
        Set<Student> students = records.keySet();
        if (students.contains(student)){

            Set<Student> s = new HashSet<Student>();
            s.add(student);
            List<? extends Module> subjects = getModulesTakenBy(s);
            Iterator<? extends Module> it = subjects.iterator();
            while (it.hasNext()){
                Module m = it.next();
                modules.add(m);}
        }
            records.put(student, modules);
        }
    }

可能是错误的,但试着改变我不能改变它。。。我的规则是实用的。我为此编写了一个JUnit测试,我必须通过测试。什么是“闪烁”错误消息?的方法addcapture6?类型集中的extends模块不适用于ModuleWell的参数,在这种情况下,我认为您可能会被搞砸。。。