有时需要将基本类型转换为装箱类型。
要转换数组,可以使用流(在Java 8及更高版本中):
//版本 ≥ Java SE 8 int[] primitiveArray = {1, 2, 3, 4}; Integer[] boxedArray = Arrays.stream(primitiveArray).boxed().toArray(Integer[]::new);
对于较低版本,可以通过迭代基元数组并将其显式复制到装箱数组:
//版本 < Java SE 8 int[] primitiveArray = {1, 2, 3, 4}; Integer[] boxedArray = new Integer[primitiveArray.length]; for (int i = 0; i < primitiveArray.length; ++i) { boxedArray[i] = primitive Array[i]; //Each element is autoboxed here }
类似地,装箱数组可以转换为其原始对应的数组:
//版本 ≥ Java SE 8 Integer[] boxedArray = {1, 2, 3, 4}; int[] primitiveArray = Arrays.stream(boxedArray).mapToInt(Integer::intValue).toArray(); //版本 < Java SE 8 Integer[] boxedArray = {1, 2, 3, 4}; int[] primitiveArray = new int[boxedArray.length]; for (int i = 0; i < boxedArray.length; ++i) { primitiveArray[i] = boxedArray[i]; //Each element is outboxed here }
日期:2020-06-02 22:15:16 来源:oir作者:oir