在最近的一次采访中,我看到了这个代码。
class User {
private Long id;
private String name;
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return this.id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
Set<User> set = new HashSet<>();
User user = new User();
user.setId(1L);
user.setName("test");
set.add(user);
User user2 = new User();
user2.setId(1L);
user2.setName("test");
set.add(user2);
System.out.println(set.size());
面试官问我,对于布景的大小,会打印出什么。我回答了1,因为User的两个实例具有相同的值。但是在面试之后,我运行了代码,我得到了2。既然集合应该具有唯一的值,那么有人可以解释一下发生了什么吗?
鸿蒙传说
湖上湖
相关分类