问答详情
源自:6-2 学生选课---判断 Set 中课程是否存在

student.courses.contains(course2)有疑问

这句话是调用Student类的成员courses(一个Set)的contains方法

contains方法本质是调用courses中各个Course类对象的hashcode与equals方法与传入的对象(course2)进行比较

所以要重写Course类中的hashcode方法与equals方法,这么理解对吗?

还有courses中存储的都是Course类对象(因为用泛型规定的),如果不用泛型规定,并且在Set中存储的元素超过1种类的对象(比如有自己创建的Teacher类型还有Course类型)

那是不是这2种类的hashcode方法和equals方法都需要重写?

请各位dalao指点

提问者:慕前端6341807 2019-05-08 18:17

个回答

  • qq_正直者_0
    2020-01-19 11:05:01


    如果不用泛型规定,那默认泛型是Object对象,根据java多态的特性,如果子类重写方法,那调用时方法是子类的方法。

    希望对你有帮助