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

时间:2015-12-29 15:41:17

标签: java casting java-7 primitive-types

是否有一种优雅,干净的方式将原始数据类型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 );

(取自here),但这需要 Java 8 Java 7 及以下是否有类似优雅,高效的方式?

1 个答案:

答案 0 :(得分:2)

如果你想要一个用Java 7编译的单行,你可以使用Apache Commons的ArrayUtils。 E.g。

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

适用于任何基本类型。这可能比你发布的Java 8代码更“优雅”和“干净”。如果你想避免像Apache Commons这样的库,恐怕你必须使用for循环。