gpt4 book ai didi

java - Arrays.asList(int[]) 不工作

转载 作者:IT老高 更新时间:2023-10-28 20:30:49 26 4
gpt4 key购买 nike

当我运行以下代码时,没有输出任何输出。

int[] array = {3, 2, 5, 4};

if (Arrays.asList(array).contains(3))
{
System.out.println("The array contains 3");
}

最佳答案

当您将一组基元(在您的情况下为 int[])传递给 Arrays.asList 时,它会创建一个 List<int[]>使用单个元素 - 数组本身。因此contains(3)返回假。 contains(array)将返回 true。

如果您使用 Integer[]而不是 int[] ,它会工作的。

Integer[] array = {3, 2, 5, 4};

if (Arrays.asList(array).contains(3))
{
System.out.println("The array contains 3");
}

进一步解释:

asList 的签名是 List<T> asList(T...) .原语不能替换泛型类型参数。因此,当您传递给此方法时,int[] , 整个 int[]数组替换 T你会得到一个List<int[]> .另一方面,当您通过 Integer[]到那个方法,Integer替换 T你会得到一个List<Integer> .

关于java - Arrays.asList(int[]) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31422025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com