gpt4 book ai didi

Java 数组和数组列表

转载 作者:行者123 更新时间:2023-11-29 10:20:18 25 4
gpt4 key购买 nike

当我尝试使用 Arrays.asList(myArray) 从数组创建 ArrayList myArrayList 时,我没有得到 List myArray 中的元素。相反,我得到了 Array 的列表。

myArrayList 的大小是 1 。当我尝试执行 myArrayList.toArray() 时,我得到了一个二维数组。如何获取列表中 myArray 的元素?迭代是唯一的选择吗??

最佳答案

首先,asList 方法是正确的方法:

Integer[] myArray = new Integer[3];
List<Integer> myArrayList = Arrays.asList(myArray);
System.out.println(myArrayList.size()); // prints 3, as expected

问题可能是您调用可变参数 asList 方法的方式使得 java 将您的参数解释为第一个可变参数值(而不是值数组)。

Object myArray = new Integer[3];
List<Object> myArrayList = Arrays.asList(myArray);
System.out.println(myArrayList.size()); // prints 1 - java invoked it as an array of Integer[]

要解决此问题,请尝试将参数转换为 Object[] 以强制调用可变参数,例如:

Object myArray = new Integer[3];
List<Object> myArrayList = Arrays.asList((Object[]) myArray); // Note cast here
System.out.println(myArrayList.size()); // prints 3, as desired

关于Java 数组和数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7514235/

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