在最近的一次采訪中,我看到了這個代碼。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。既然集合應該具有唯一的值,那么有人可以解釋一下發(fā)生了什么嗎?
添加回答
舉報
0/150
提交
取消