From 3b3de316ea8a4bc28973e767710d0aaa4e43d74f Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Thu, 21 Mar 2019 14:19:35 +0800 Subject: [PATCH] --- src/org/redkale/util/Utility.java | 38 +++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/src/org/redkale/util/Utility.java b/src/org/redkale/util/Utility.java index 5a9b7ffdb..f6c117f4e 100644 --- a/src/org/redkale/util/Utility.java +++ b/src/org/redkale/util/Utility.java @@ -279,14 +279,29 @@ public final class Utility { } /** - * 获取int数组之和 + * 获取int数组之和, 空数组返回0 * * @param array 数组 * * @return int */ public static int sum(final int... array) { - if (array == null || array.length == 0) throw new NullPointerException("array is null or empty"); + return sum(false, array); + } + + /** + * 获取int数组之和 + * + * @param check 是否检测空 + * @param array 数组 + * + * @return int + */ + public static int sum(boolean check, final int... array) { + if (array == null || array.length == 0) { + if (!check) return 0; + throw new NullPointerException("array is null or empty"); + } int sum = 0; for (int i : array) { sum += i; @@ -295,14 +310,29 @@ public final class Utility { } /** - * 获取long数组之和 + * 获取long数组之和, 空数组返回0 * * @param array 数组 * * @return long */ public static long sum(final long... array) { - if (array == null || array.length == 0) throw new NullPointerException("array is null or empty"); + return sum(false, array); + } + + /** + * 获取long数组之和 + * + * @param check 是否检测空 + * @param array 数组 + * + * @return long + */ + public static long sum(boolean check, final long... array) { + if (array == null || array.length == 0) { + if (!check) return 0; + throw new NullPointerException("array is null or empty"); + } long sum = 0L; for (long i : array) { sum += i;