【发布时间】:2018-12-16 11:54:26
【问题描述】:
我有以下代码使用 int[] 和 List<Integer> 作为 hashset 元素,但是,它们有不同的结果。为什么List<Integer>可以用来比较hash,而不是数组?
Set<List<Integer>> set2 = new HashSet();
set2.add(Arrays.asList(1, 2, 3, 4));
System.out.println(set2.contains(Arrays.asList(1, 2, 3, 4)));
int[] arr1 = {1, 2, 3, 4};
int[] arr2 = {1, 2, 3, 4};
Set<int[]> set3 = new HashSet();
set3.add(arr1);
System.out.println(set3.contains(arr2));
输出是
true
false
【问题讨论】: