在 Java 中,我试图知道一个 Integer
在 ArrayList<Integer>
中.
我尝试使用 this general solution ,它警告说它不适用于基元数组。这应该不是问题,因为 Integer
s 不是原语(int
是)。
ArrayList<Integer> ary = new ArrayList<Integer>();
ary.add(2);
System.out.println(String.format("%s", Arrays.asList(ary).contains(2)));
返回 false
.
有什么理由吗?
感谢您提供任何帮助,但越不冗长越好。
最佳答案
Any reason why it returns
false
?
仅仅因为Arrays.asList(ary)
将返回 List<ArrayList<Integer>>
然后您尝试查找它是否包含 Integer
这是行不通的。
这里剩下的是 Arrays.asList(ary)
的 Javadoc
public static <T> List<T> asList(T... a)
Returns a fixed-size list backed by the specified array.
此处您提供一个 ArrayList<Integer>
作为参数, 它将返回 List
您提供的内容,所以 List<ArrayList<Integer>>
.
您需要调用List#contains(Object)在你的 list 上类似 ary.contains(myInteger)
.
关于java - 值在 ArrayList<Integer> 中吗? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39043936/