主要是Integer[]中包含null值,null值可以指定默认值(也可以默认0)。
(最基本的做法,遍历...)
Integer[] integers = {1, 2, 3, null, 4, 5, null, 6}; int length = array.length; int[] ary = new int[length]; for(int i = 0; i < length; i ++){ ary[i] = array[i] == null ? 0 : array[i]; }
1 public static int[] toPrimitive(final Integer[] array) { 2 if (array == null) { 3 return null; 4 } else if (array.length == 0) { 5 return EMPTY_INT_ARRAY; 6 } 7 final int[] result = new int[array.length]; 8 for (int i = 0; i < array.length; i++) { 9 result[i] = array[i].intValue(); 10 } 11 return result; 12 }
commons-lang3:3.5
不是黑科技,木有处理null元素。
(还是自己重写算了,木有找到黑科技....)