如何在Java中将List转换为int []?

weixin_38078058 2019-09-12 01:40:17
参见英文答案 > How to convert an ArrayList containing Integers to primitive int array?                                    12个这类似于这个问题:How to convert int[] to Integer[] in Java? 我是Java的新手.如何转换List< Integer>在Java中使用int []?我很困惑因为List.toArray()实际上返回一个Object [],它可以转换为nether Integer []或int []. 现在我正在使用循环来执行此操作: int[] toIntArray(List<Integer> list){ int[] ret = new int[list.size()]; for(int i = 0;i < ret.length;i++) ret[i] = list.get(i); return ret; } 我相信有更好的方法可以做到这一点.
...全文
521 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38087237 2019-09-12
  • 打赏
  • 举报
回复
不幸的是,由于Java处理原始类型,装箱,数组和泛型的性质,我不相信确实有更好的方法.特别是: > List< T> .toArray将无效,因为没有从Integer到int的转换>你不能使用int作为泛型的类型参数,因此它必须是一个特定于int的方法(或者使用反射来做令人讨厌的欺骗的方法). 我相信有些库为所有原始类型都有这种方法的自动生成版本(即有一个模板可以为每种类型复制).这很难看,但这就是我害怕的方式:( 即使Arrays类在泛型到达Java之前出现,如果它今天被引入(假设你想使用原始数组),它仍然必须包含所有可怕的重载.

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧