繁体   English   中英

将原始数据类型数组转换为OO数组

[英]Casting primitive data type array to an OO array

是否有一种优雅,干净的方法将原始数据类型double数组转换为OO Double数组(例如,将double[]转换为Double[] )?

有一些不错的解决方案,例如

int[] intArray = { ... };
Integer[] what = Arrays.stream( intArray ).boxed().toArray( Integer[]::new );
Integer[] ever = IntStream.of( intArray ).boxed().toArray( Integer[]::new );

(从此处获取 ),但这需要Java 8 对于Java 7和更低版本,是否存在类似的优雅,高效的方式?

如果您想要一个可与Java 7一起编译的内衬,则可以使用Apache Commons中的ArrayUtils 例如

Integer[] what = ArrayUtils.toObject(intArray);

适用于任何原始类型。 比您发布的Java 8代码更“优雅”和“简洁”。 如果要避免使用Apache Commons之类的库,恐怕您必须使用for循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM