开发者社区> 问答> 正文

如何将包含整数的ArrayList转换为原始int数组?

我正在尝试使用以下代码将包含Integer对象的ArrayList转换为原始int [],但它会引发编译时错误。是否可以用Java进行转换?

List x = new ArrayList (); int[] n = (int[])x.toArray(int[x.size()]);

展开
收起
保持可爱mmm 2020-01-16 14:38:14 551 0
1 条回答
写回答
取消 提交回答
  • 您可以进行转换,但是我认为没有内置的功能可以自动进行转换:

    public static int[] convertIntegers(List integers) { int[] ret = new int[integers.size()]; for (int i=0; i < ret.length; i++) { ret[i] = integers.get(i).intValue(); } return ret; } (请注意,如果其中一个integers或任何一个元素为,则会抛出NullPointerException null。)

    编辑:根据评论,您可能希望使用列表迭代器来避免诸如LinkedList:

    public static int[] convertIntegers(List integers) { int[] ret = new int[integers.size()]; Iterator iterator = integers.iterator(); for (int i = 0; i < ret.length; i++) { ret[i] = iterator.next().intValue(); } return ret; }

    问题来源于stack overflow

    2020-01-16 14:38:30
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载