首先,c=new Course(), 这是创建了一个Course类的对象c 当你存入HashSet() 集合中的对象就是c对象,如果Contains (A)不是Course 类,那肯定对象也不是同一个,就会出现set中不包含指定A对象,返回False, ,如果A为你已经存入set集合中的对象,那就为true 如果都不是Course 类那创建的对象能和c一样吗? hashSet 底层依靠哈希表(其实就是哈希值)为了保证存入的对象唯一, 就有hashCode 和equals 方法,你类名都不一样,创建的对象的哈希值一定不一样,当对象名一样,在用equals 方法判断其类容相同不。 |