考虑以下代码:
6. Set<Integer> set = new HashSet<Integer>();
7. Integer i1 = 45;
8. Integer i2 = 46;
9. set.add(i1);
10. set.add(i1);
11. set.add(i2); System.out.print(set.size() + " ");
12. set.remove(i1); System.out.print(set.size() + " ");
13. i2 = 47;
14. set.remove(i2); System.out.print(set.size() + " ");
15. System.out.println(set.contains(i2));
代码输出:
2 1 1 false
在第 14 行之后,我假设大小是0
,但它是1
。我猜想在第 13 行将一个新对象i2
添加到集合中,所以我在第 15 行测试了它,但它返回false
(即i2
集合中不存在),这是为什么呢?