将Integer数组转换为int数组的最佳方法是什么?
它的简单解决方案是:
public int[] toPrimitiveInts(Integer[] ints) {
int[] primitiveInts = new int[ints.length];
for(int i = 0; i < ints.length; i++) {
primitiveInts[i] = ints[i] == null ? 0 : ints[i];
}
return primitiveInts;
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我采用0了null对象/包装器的默认值为null并且int为0这一事实的值.
但我找不到将Integer []转换为int []的简单方法.
您可以使用Java 8 Stream:
如果输入数组没有nulls:
Integer[] integerArr = ...
int[] arr = Arrays.stream(integerArr).mapToInt(Integer::intValue).toArray();
Run Code Online (Sandbox Code Playgroud)
并处理nulls:
Integer[] integerArr = ...
int[] arr = Arrays.stream(integerArr).mapToInt(i -> i != null ? i : 0).toArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |