Java HashSet的新手问题
Set<User> s = new HashSet<User>();
User u = new User();
u.setName("name1");
s.add(u);
u.setName("name3");
System.out.println(s.contains(u));
有人能解释一下为什么这段代码输出false吗?此外,这段代码甚至没有调用User类的equals方法。但根据HashSet和HashMap的源码,它应该调用它。 User类的equals方法只是在用户的名称上调用equals方法。Method hashCode返回用户名称的hashCode。