【发布时间】:2018-05-16 15:04:28
【问题描述】:
我写了以下代码,看到输出很惊讶:
Integer a = 211;
int b = 211;
int[] array = {210,211,212};
System.out.println(Arrays.asList(array).contains(a));
System.out.println(Arrays.asList(array).contains(b));
输出:
false
false
我找到了this 问题和一些与之相关的其他问题,并了解到asList 方法不是自动装箱的东西。我在 eclipse javadoc 预览中检查了返回的类型:
我不太明白这个返回类型。 int[] 是一个对象而不是原始对象,所以它很好。我确定我没有收到List<Integer>(我所期望的),但我不确定如何使用被退回的东西。我的问题是:
- 1。当我期待 Integer 列表并获得 int[] 列表时,我究竟如何期望列表方法起作用?
- 2。对于字符串,返回类型是字符串列表,而不是字符串 [] 列表。有哪些实现差异?
- 3。如果事情如此不确定,这种方法对原语有什么好处?
【问题讨论】:
标签: java arrays list autoboxing