尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
自定义断言工具类
前言工作中经常使用if else 抛出自定义异常信息给前端有时候一个请求方法需要很多if else 判断此工具是为了消除if else 判断简化代码代码实现/** * 自定义断言类 指定断言不通过时抛出的异常 */ NoArgsConstructor(access AccessLevel.PRIVATE) public class CustomAssertUtil { /** * 是否为 true 如果为 false抛出异常 * param expression bool * param message 提示信息 */ public static void isTrue(boolean expression, String message) { isTrue(expression, message, PunctuationConstant.EMPTY); } public static void isTrue(boolean expression, String message, Object... args) { if (!expression) { deFaultThrowCommon(StrUtil.format(message, args)); } } /** * 是否为 true 如果为 false抛出异常 * param expression bool */ public static X extends Throwable void isTrue(boolean expression, Supplier? extends X supplier) throws X { if (!expression) { throw supplier.get(); } } /** * 是否为 false 如果为 true 抛出异常 * * param expression bool * param message 提示信息 */ public static void isFalse(boolean expression, String message) { isTrue(!expression, message); } /** * 是否为 false 如果为 true 抛出异常 * * param expression bool * param message 提示信息 */ public static void isFalse(boolean expression, String message, Object... args) { isTrue(!expression, message, args); } /** * 是否为 false 如果为 true 抛出异常 * param expression bool */ public static X extends Throwable void isFalse(boolean expression, Supplier? extends X supplier) throws X { if (expression) { throw supplier.get(); } } /** * 是否为 null 如果不为 null 抛出异常 * param object obj * param message 提示信息 */ public static void isNull(Object object, String message) { isNull(object, message, PunctuationConstant.EMPTY); } /** * 是否为 null 如果不为 null 抛出异常 * param object obj * param message 提示信息 */ public static void isNull(Object object, String message, Object... args) { isTrue(object null, message, args); } /** * 是否为 null 如果不为 null 抛出异常 * param object obj * param supplier 自定义异常 */ public static X extends Throwable void isNull(Object object, SupplierX supplier) throws X { isTrue(object null, supplier); } /** * 是否不为 null 如果为 null 抛出异常 * param object obj * param message 提示信息 */ public static void isNotNull(Object object, String message) { isNotNull(object, message, PunctuationConstant.EMPTY); } /** * 是否不为 null 如果为 null 抛出异常 * param object obj * param message 提示信息 */ public static void isNotNull(Object object, String message, Object... args) { isTrue(object ! null, message, args); } /** * 是否不为 null 如果为 null 抛出异常 */ public static X extends Throwable void isNotNull(Object object, SupplierX supplier) throws X { isTrue(object ! null, supplier); } /** * 是否 为空 不为空抛出 异常 * param str str * param message 提示信息 */ public static void isEmpty(String str, String message) { isEmpty(str, message, PunctuationConstant.EMPTY); } /** * 是否 为空 不为空抛出 异常 * param str str * param message 提示信息 */ public static void isEmpty(String str, String message, Object... args) { isTrue(StrUtil.isEmpty(str), message, args); } /** * 是否 为空 不为空抛出 异常 * param str str * param supplier 自定义异常 */ public static X extends Throwable void isEmpty(String str, SupplierX supplier) throws X { isTrue(StrUtil.isEmpty(str), supplier); } /** * 集合为空, 如果不为null或不为空集合则抛出异常 * param col 集合 * param message 提示信息 */ public static void isEmpty(Collection? col, String message) { isEmpty(col, message, PunctuationConstant.EMPTY); } /** * 集合为空, 如果不为null或不为空集合则抛出异常 * param col 集合 * param message 提示信息 */ public static void isEmpty(Collection? col, String message, Object... args) { isTrue(CollectionUtil.isEmpty(col), message, args); } /** * 集合为空, 如果不为null或不为空集合则抛出异常 */ public static X extends Throwable void isEmpty(Collection? col, SupplierX supplier) throws X { isTrue(CollectionUtil.isEmpty(col), supplier); } /** * 是否 不为空 为空抛出 异常 * param str str * param message 提示信息 */ public static void isNotEmpty(String str, String message) { isNotEmpty(str, message, PunctuationConstant.EMPTY); } /** * 是否 不为空 为空抛出 异常 * param str str * param message 提示信息 */ public static void isNotEmpty(String str, String message, Object... args) { isTrue(StrUtil.isNotEmpty(str), message, args); } /** * 是否 不为空 为空抛出 异常 * param str str * param supplier 自定义异常 */ public static X extends Throwable void isNotEmpty(String str, SupplierX supplier) throws X { isTrue(StrUtil.isNotEmpty(str), supplier); } /** * 集合不为空, 如果为null或空集合则抛出异常 * param col 集合 * param message 提示信息 */ public static void isNotEmpty(Collection? col, String message) { isNotEmpty(col, message, PunctuationConstant.EMPTY); } /** * 集合不为空, 如果为null或空集合则抛出异常 * param col 集合 * param message 提示信息 */ public static void isNotEmpty(Collection? col, String message, Object... args) { isTrue(CollectionUtil.isNotEmpty(col), message, args); } /** * 集合不为空, 如果为null或空集合则抛出异常 */ public static X extends Throwable void isNotEmpty(Collection? col, SupplierX supplier) throws X { isTrue(CollectionUtil.isNotEmpty(col), supplier); } /** * 是否 为空 不为空抛出 异常 * param str str * param message 提示信息 */ public static void isBlank(String str, String message) { isBlank(str, message, PunctuationConstant.EMPTY); } /** * 是否 为空 不为空抛出 异常 * param str str * param message 提示信息 */ public static void isBlank(String str, String message, Object... args) { isTrue(StrUtil.isBlank(str), message, args); } /** * 是否 为空 不为空抛出 异常 * param str str * param supplier 自定义异常 */ public static X extends Throwable void isBlank(String str, SupplierX supplier) throws X { isTrue(StrUtil.isBlank(str), supplier); } /** * 是否 不为空 为空抛出 异常 * param str str * param message 提示信息 */ public static void isNotBlank(String str, String message) { isNotBlank(str, message, PunctuationConstant.EMPTY); } /** * 是否 不为空 为空抛出 异常 * param str str * param message 提示信息 */ public static void isNotBlank(String str, String message, Object... args) { isTrue(StrUtil.isNotBlank(str), message, args); } /** * 是否 不为空 为空抛出 异常 * param str str * param supplier 自定义异常 */ public static X extends Throwable void isNotBlank(String str, SupplierX supplier) throws X { isTrue(StrUtil.isNotBlank(str), supplier); } /** * 是否 allNotNullhasNull抛出异常 * * param col 集合 * param message 提示信息 */ public static void isAllNotNull(Collection? col, String message) { isAllNotNull(col, message, PunctuationConstant.EMPTY); } /** * 是否 allNotNullhasNull抛出异常 * * param col 集合 * param message 提示信息 */ public static void isAllNotNull(Collection? col, String message, Object... args) { isTrue(CollectionUtil.isNotEmpty(col), message, args); isTrue(col.stream().anyMatch(Objects::isNull), message, args); } /** * 是否 allNotNullhasNull抛出异常 */ public static X extends Throwable void isAllNotNull(Collection? col, SupplierX supplier) throws X { isTrue(CollectionUtil.isNotEmpty(col), supplier); isFalse(col.stream().anyMatch(Objects::isNull), supplier); } /** * 是否都不为空 如果存在为空 的元素则抛出异常 * param col 集合 * param message 提示信息 */ public static void isAllNotEmpty(CollectionString col, String message) { isAllNotEmpty(col, message, PunctuationConstant.EMPTY); } /** * 是否都不为空 如果存在为空 的元素则抛出异常 * param col 集合 * param message 提示信息 */ public static void isAllNotEmpty(CollectionString col, String message, Object... args) { // 集合不为空判断 isTrue(CollectionUtil.isNotEmpty(col), message, args); // 集合中不存在空元素 isFalse(col.stream().anyMatch(StrUtil::isEmpty), message, args); } /** * 断言集合中所有元素都不为空如果存在空元素则抛出异常 * param col 集合 * param supplier 自定义异常 */ public static X extends Throwable void isAllNotEmpty(CollectionString col, SupplierX supplier) throws X { // 集合不为空判断 isTrue(CollectionUtil.isNotEmpty(col), supplier); // 集合中不存在空元素 isFalse(col.stream().anyMatch(StrUtil::isEmpty), supplier); } /** * 是否都不为空 如果存在为空 的元素则抛出异常 * param col 集合 * param message 提示信息 */ public static void isAllNotBlank(CollectionString col, String message) { isAllNotBlank(col, message, PunctuationConstant.EMPTY); } /** * 是否都不为空 如果存在为空 的元素则抛出异常 * param col 集合 * param message 提示信息 */ public static void isAllNotBlank(CollectionString col, String message, Object... args) { // 集合不为空判断 isTrue(CollectionUtil.isNotEmpty(col), message, args); // 集合中不存在空白元素 isFalse(col.stream().anyMatch(StrUtil::isBlank), message, args); } /** * 断言集合中所有元素都不为空如果存在空元素则抛出异常 * param col 集合 * param supplier 自定义异常 */ public static X extends Throwable void isAllNotBlank(CollectionString col, SupplierX supplier) throws X { // 集合不为空判断 isTrue(CollectionUtil.isNotEmpty(col), supplier); // 集合中不存在空白元素 isFalse(col.stream().anyMatch(StrUtil::isBlank), supplier); } /** * 两个对象相等如果不相等则抛出异常 * param sourceObject obj1 * param targetObject obj2 * param message 提示信息 */ public static void equal(Object sourceObject, Object targetObject, String message) { equal(sourceObject, targetObject, message, PunctuationConstant.EMPTY); } /** * 两个对象相等如果不相等则抛出异常 * param sourceObject obj1 * param targetObject obj2 * param message 提示信息 */ public static void equal(Object sourceObject, Object targetObject, String message, Object... args) { isTrue(Objects.equals(sourceObject, targetObject), message, args); } /** * 两个对象相等如果不相等则抛出异常 * param sourceObject obj1 * param targetObject obj2 * param supplier 自定义异常 */ public static X extends Throwable void equal(Object sourceObject, Object targetObject, SupplierX supplier) throws X { isTrue(Objects.equals(sourceObject, targetObject), supplier); } /** * 断言两个对象不相等如果相等则抛出异常 * param sourceObject obj1 * param targetObject obj2 * param message 提示信息 */ public static void notEqual(Object sourceObject, Object targetObject, String message) { notEqual(sourceObject, targetObject, message, PunctuationConstant.EMPTY); } /** * 断言两个对象不相等如果相等则抛出异常 * param sourceObject obj1 * param targetObject obj2 * param message 提示信息 */ public static void notEqual(Object sourceObject, Object targetObject, String message, Object... args) { isTrue(Objects.equals(sourceObject, targetObject), message, args); } /** * 断言两个对象不相等如果相等则抛出异常 * param sourceObject obj1 * param targetObject obj2 * param supplier 自定义异常 */ public static X extends Throwable void notEqual(Object sourceObject, Object targetObject, SupplierX supplier) throws X { isFalse(Objects.equals(sourceObject, targetObject), supplier); } /** * 默认抛出异常 * param message 提示信息 */ public static void deFaultThrowCommon(String message) { throw new CommonException(message); } }使用举例
RELATED

相关推荐

JSSDK开发指南:从基础概念到实战应用

JSSDK开发指南:从基础概念到实战应用

1. JSSDK开发基础概念 JSSDK(JavaScript Software Development Kit)是一种基于JavaScript的软件开发工具包,它允许开发者通过JavaScript代码调用平台提供的各种原生能力和接口。在Web开发中,JSSDK通常用于连接网页应用和原生平台功…

📅 2026/10/27 15:03:59
从零构建AI智能体:全栈开发与实战指南

从零构建AI智能体:全栈开发与实战指南

1. 项目背景与核心价值 在2025年这个被称为"Agent元年"的时间节点,AI领域正在经历从基础大模型训练向智能体系统构建的战略转型。Datawhale社区推出的《从零开始构建智能体》教程(GitHub星标22k)恰好填补了系统性实践指南的空白。不…

📅 2026/10/7 12:24:16
MCP与Skill相关网站资源整理汇总

MCP与Skill相关网站资源整理汇总

MCP与Skill相关网站资源整理 以下是我对您提供的 MCP 和 Skill 相关网站的分析与介绍: 一、MCP 相关项目 1. Awesome MCP Servers 项目 / 网站名:Awesome MCP Servers 链接:https://github.com/punkpeye/awesome-mcp-servers 介绍&#x…

📅 2026/10/12 18:40:29
MORE NEWS

更多资讯

📰

电工证工作范围保姆级教程:学历不高也能考,看看这几点就明白

电工证工作范围保姆级教程:学历不高也能考,看看这几点就明白 你是不是也担心自己学历不高,怕报不上电工证?别急,今天就给你讲清楚, 电工证工作范围…

📰

电工证是不是初级证书怎么考 值不值得考看这里

电工证是不是初级证书怎么考 值不值得考看这里 工地太忙根本没时间复习考试,很多人以为电工证就是初级证书,其实不然。现在国家对特种作业人员的资质要求越来越高,电工证不只是上岗门槛,更是你职业发展的“通行证”。那 电工证是不是初级证书…

📰

电工证在哪里能查全流程办理指南:怕考不过白交培训费?多少钱才靠谱?

电工证在哪里能查全流程办理指南:怕考不过白交培训费?多少钱才靠谱? 你怕考不过白交培训费?又担心电工证到底在哪里能查?别急,这篇全是你需要的干货,从报名到查证,一步步告诉你怎么做才不吃亏,还能省下一笔冤枉钱。…

📰

德令哈办理电工证值不值得考?刚入行的你必须知道这些真相

德令哈办理电工证值不值得考?刚入行的你必须知道这些真相 你是不是刚找了个电工相关的工作,但发现入职前必须得有电工证?或者你正准备转行,听说电工证是上岗必备,但又担心 德令哈办理电工证值不值得考…

📰

承德成钢报考电工证怎么转异地?学历不高怕报不上名?良心建议在这里

承德成钢报考电工证怎么转异地?学历不高怕报不上名?良心建议在这里 学历不高怕报不上名?你不是一个人。在承德成钢报考电工证,很多人担心学历不达标、流程复杂,甚至怀疑能不能顺利拿到证。其实,只要你了解清楚流程和政策, 良心建议 是:…

📰

电工证规定标准在哪考 外省证能转过来吗

电工证规定标准在哪考 外省证能转过来吗 之前考的证在外省能不能转过来?这个问题,咱们特种作业行业从业者都遇到过。很多人在外地打工,考了证,回来后却发现证在老家不被认可,或者报名流程不一样,让人心里直打鼓。今天咱就聊聊【电工证规定标准】,以及…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬