From c3c4c87bea33229e3c6dcce9cbfa8a2322637580 Mon Sep 17 00:00:00 2001 From: mo_chou_555 <7496450+mo_chou_555@user.noreply.gitee.com> Date: Tue, 3 May 2022 12:24:41 +0800 Subject: [PATCH 1/3] test --- Test.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Test.txt diff --git a/Test.txt b/Test.txt new file mode 100644 index 000000000..e69de29bb From 50d77194c80a20d0d22c7a6d4510cbca1b08326d Mon Sep 17 00:00:00 2001 From: mo_chou_555 <7496450+mo_chou_555@user.noreply.gitee.com> Date: Tue, 3 May 2022 12:25:58 +0800 Subject: [PATCH 2/3] remove test --- Test.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Test.txt diff --git a/Test.txt b/Test.txt deleted file mode 100644 index e69de29bb..000000000 From 2a9eaa6a7fcd9b304eaea4763843c89d072189b2 Mon Sep 17 00:00:00 2001 From: mo_chou_555 <7496450+mo_chou_555@user.noreply.gitee.com> Date: Tue, 3 May 2022 12:31:55 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Assert=E7=9A=84equals?= =?UTF-8?q?=E5=8F=8AnotEquals?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/hutool/core/lang/Assert.java | 94 +++++++++++++++++++ .../java/cn/hutool/core/lang/AssertTest.java | 29 +++++- 2 files changed, 121 insertions(+), 2 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/Assert.java b/hutool-core/src/main/java/cn/hutool/core/lang/Assert.java index a33b2a4ed..b0b347c02 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/Assert.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/Assert.java @@ -3,6 +3,7 @@ package cn.hutool.core.lang; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import java.util.Map; @@ -1003,6 +1004,99 @@ public class Assert { return value; } + /** + * 断言两个对象是否不相等,如果两个对象相等 抛出IllegalArgumentException 异常 + *
+ * Assert.notEquals(obj1,obj2); + *+ * + * @param obj1 对象1 + * @param obj2 对象2 + * @throws IllegalArgumentException obj1 must be not equals obj2 + */ + public static void notEquals(Object obj1, Object obj2) { + notEquals(obj1, obj2, "({}) must be not equals ({})", obj1, obj2); + } + + /** + * 断言两个对象是否不相等,如果两个对象相等 抛出IllegalArgumentException 异常 + *
+ * Assert.notEquals(obj1,obj2,"obj1 must be not equals obj2"); + *+ * + * @param obj1 对象1 + * @param obj2 对象2 + * @param errorMsgTemplate 异常信息模板,类似于"aa{}bb{}cc" + * @param params 异常信息参数,用于替换"{}"占位符 + * @throws IllegalArgumentException obj1 must be not equals obj2 + */ + public static void notEquals(Object obj1, Object obj2, String errorMsgTemplate, Object... params) throws IllegalArgumentException { + notEquals(obj1, obj2, () -> new IllegalArgumentException(StrUtil.format(errorMsgTemplate, params))); + } + + /** + * 断言两个对象是否不相等,如果两个对象相等,抛出指定类型异常,并使用指定的函数获取错误信息返回 + * + * @param obj1 对象1 + * @param obj2 对象2 + * @param errorSupplier 错误抛出异常附带的消息生产接口 + * @param
+ * Assert.isEquals(obj1,obj2); + *+ * + * @param obj1 对象1 + * @param obj2 对象2 + * @throws IllegalArgumentException obj1 must be equals obj2 + */ + public static void isEquals(Object obj1, Object obj2) { + isEquals(obj1, obj2, "({}) must be equals ({})", obj1, obj2); + } + + /** + * 断言两个对象是否相等,如果两个对象不相等 抛出IllegalArgumentException 异常 + *
+ * Assert.isEquals(obj1,obj2,"obj1 must be equals obj2"); + *+ * + * @param obj1 对象1 + * @param obj2 对象2 + * @param errorMsgTemplate 异常信息模板,类似于"aa{}bb{}cc" + * @param params 异常信息参数,用于替换"{}"占位符 + * @throws IllegalArgumentException obj1 must be equals obj2 + */ + public static void isEquals(Object obj1, Object obj2, String errorMsgTemplate, Object... params) throws IllegalArgumentException { + isEquals(obj1, obj2, () -> new IllegalArgumentException(StrUtil.format(errorMsgTemplate, params))); + } + + /** + * 断言两个对象是否相等,如果两个对象不相等,抛出指定类型异常,并使用指定的函数获取错误信息返回 + * + * @param obj1 对象1 + * @param obj2 对象2 + * @param errorSupplier 错误抛出异常附带的消息生产接口 + * @param