将原始数据类型数组转换为 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 );
(取自here),但这需要Java 8。 Java 7 及以下是否有类似的优雅、高效的方式?
如果你想要一个用 Java 7 编译的单行代码,你可以使用 Apache Commons 的 ArrayUtils。例如
Integer[] what = ArrayUtils.toObject(intArray);
适用于任何基本类型。这可能比您发布的 Java 8 代码多 "elegant" 和 "clean"。如果你想避免像 Apache Commons 这样的库,恐怕你必须使用 for 循环。
是否有一种优雅、干净的方法将原始数据类型 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 及以下是否有类似的优雅、高效的方式?
如果你想要一个用 Java 7 编译的单行代码,你可以使用 Apache Commons 的 ArrayUtils。例如
Integer[] what = ArrayUtils.toObject(intArray);
适用于任何基本类型。这可能比您发布的 Java 8 代码多 "elegant" 和 "clean"。如果你想避免像 Apache Commons 这样的库,恐怕你必须使用 for 循环。