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

标签 java arrays list collections

使用 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/

相关文章:

java - 缩小类型转换 : Why is assignment of int to a byte in a declaration allowed?

java.sql.SQLException : sql injection violation, 拒绝对象:dbms_random

java - 使用静态方法搜索字符串中的特定字符

arrays - MongoDB:按数组索引排序

python - 如何将元组中的字符串转换为整数?

python - 如何在 python 中将列表折叠成字符串?

java - 如何在没有 IDE 的计算机上运行 Java 程序?

arrays - 读取 CSV 文件并保存在二维数组中

python - 在 python 中合并一维和二维列表

javascript - 如何在 React.JS 中正确交换数组元素?