浏览代码

add default value for ArrayUtil.unwrap

Looly 5 年之前
父节点
当前提交
69362f1031
共有 2 个文件被更改,包括 5 次插入4 次删除
  1. 1 0
      CHANGELOG.md
  2. 4 4
      hutool-core/src/main/java/cn/hutool/core/util/ArrayUtil.java

+ 1 - 0
CHANGELOG.md

@@ -9,6 +9,7 @@
 * 【core   】     ConsoleTable代码优化(pr#190@Gitee)
 * 【http   】     HttpRequest增加setProxy重载(pr#190@Gitee)
 * 【core   】     XmlUtil.cleanComment(pr#191@Gitee)
+* 【core   】     ArrayUtil.unWrap增加默认值(pr#1149@Github)
 
 ### Bug修复
 * 【core   】     解决农历判断节日未判断大小月导致的问题(issue#I1XHSF@Gitee)

+ 4 - 4
hutool-core/src/main/java/cn/hutool/core/util/ArrayUtil.java

@@ -1777,7 +1777,7 @@ public class ArrayUtil {
 	}
 
 	/**
-	 * 包装类数组转为原始类型数组
+	 * 包装类数组转为原始类型数组,null转为0
 	 *
 	 * @param values 包装类型数组
 	 * @return 原始类型数组
@@ -1793,7 +1793,7 @@ public class ArrayUtil {
 
 		final int[] array = new int[length];
 		for (int i = 0; i < length; i++) {
-			array[i] = values[i];
+			array[i] = ObjectUtil.defaultIfNull(values[i], 0);
 		}
 		return array;
 	}
@@ -1837,7 +1837,7 @@ public class ArrayUtil {
 
 		final long[] array = new long[length];
 		for (int i = 0; i < length; i++) {
-			array[i] = values[i];
+			array[i] = ObjectUtil.defaultIfNull(values[i], 0L);
 		}
 		return array;
 	}
@@ -1881,7 +1881,7 @@ public class ArrayUtil {
 
 		char[] array = new char[length];
 		for (int i = 0; i < length; i++) {
-			array[i] = values[i];
+			array[i] = ObjectUtil.defaultIfNull(values[i], Character.MIN_VALUE);
 		}
 		return array;
 	}