java - 值在 ArrayList<Integer> 中吗? ( java )

标签 java arraylist

在 Java 中,我试图知道一个 IntegerArrayList<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/

相关文章:

java - JSF 下载并转发到结果页面

java - Java 的 compareTo 方法的实际应用是什么?

java - 在 2 个数组列表中添加属性

java - 通过 spring 显示多表 jasper 报告

java - Neo4j 非托管扩展和 GuardTimeoutException

java - 如何避免 Java 方法中的无用返回?

java - 以线程安全的方式从数组列表返回对象?

java - Android BaseAdapter 仅显示一次正确信息

java - SpringBoot2.X中如何解决CORS问题

java - 删除 ArrayList 中的重复项