gpt4 book ai didi

java - 将 Arrays.asList 与 int 数组一起使用

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:45:41 25 4
gpt4 key购买 nike

使用 java.util.Arrays.asList,为什么它显示 int(原始类型)和 String 数组的列表大小不同?

a) 使用 int 数组,每当我执行以下程序时,List size = 1

public static void main(String[] args) {
int ar[]=new int[]{1,2,3,4,5};
List list=Arrays.asList(ar);
System.out.println(list.size());

}

b) 但是如果我从 int 数组类型更改为 String 数组(比如 String ar[] = new String[]{"abc","klm","xyz","pqr"};) ,然后我得到的列表大小为 4,我认为这是正确的。

PS : 使用 Integer (Wrapper Class) 数组,结果很好,但我不确定为什么在原始 int 数组中,列表大小为 1。请解释。

最佳答案

List由于 Java 泛型(参见 similar question),无法保存原始值。所以当你调用Arrays.asList(ar) Arrays 创建一个只包含一项的列表 - int 数组 ar .

编辑:

Arrays.asList(ar) 的结果将是 List<int[]> , List<int>它将包含一项,即 int 的数组小号:

[ [1,2,3,4,5] ]

您无法访问原语 int s 来自列表本身。您必须像这样访问它:

list.get(0).get(0) // returns 1
list.get(0).get(1) // returns 2
...

而且我认为这不是您想要的。

关于java - 将 Arrays.asList 与 int 数组一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25483854/

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