Java list.contains返回false,应该是true

时间:2014-03-18 14:35:18

标签: java undefined-behavior

好吧,我正在尝试做一些有条件的检查,发现这回复了......我失踪了什么?

int test = 1;

int[] testing= {1,3};

System.out.println(Arrays.asList(testing).contains(test) );  //false???

1 个答案:

答案 0 :(得分:14)

Arrays.asList是一种通用方法,其中在vararg参数中使用泛型类型变量。原始类型不适用于泛型。

因此,在

之后
Arrays.asList(testing)

返回的List包含单个元素,类型为int的数组。

如果testing被声明为Integer[],则您的测试将通过。