【java工具类】参数校验工具类java判断是否为空

2024-06-09 17:48

本文主要是介绍【java工具类】参数校验工具类java判断是否为空,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言:

参数校验工具类:封装在一个公有方法里面

应用案例:

完整的java类信息:


前言:

经常要遇到判断各种是否为空的情况,String有lang3的StringUtils,CollectionUtils。为啥子不能直接的放进一个工具类处理呢?这样业务的调用不是更为的简洁方便呢?对于JVM的优化也是好事情的呀!没有必要不断的编译第三方的jar和class文件呀

参数校验工具类:封装在一个公有方法里面

    /**
     * 对象是否不为空(新增)
     * @Date 2018/3/18 21:57
     */
    public static boolean isNotEmpty(Object o) {
        return !isEmpty(o);
    }

    /**
     * 对象是否为空
     *
     * @Date 2018/3/18 21:57
     */
    public static boolean isEmpty(Object o) {
        if (o == null) {
            return true;
        }
        if (o instanceof String) {
            if ("".equals(o.toString().trim())) {
                return true;
            }
        } else if (o instanceof List) {
            if (((List) o).size() == 0) {
                return true;
            }
        } else if (o instanceof Map) {
            if (((Map) o).size() == 0) {
                return true;
            }
        } else if (o instanceof Set) {
            if (((Set) o).size() == 0) {
                return true;
            }
        } else if (o instanceof Object[]) {
            if (((Object[]) o).length == 0) {
                return true;
            }
        } else if (o instanceof int[]) {
            if (((int[]) o).length == 0) {
                return true;
            }
        } else if (o instanceof long[]) {
            if (((long[]) o).length == 0) {
                return true;
            }
        }
        return false;

    }

    /**
     * 对象组中是否存在空对象
     * @Date 2018/3/18 21:59
     */
    public static boolean isOneEmpty(Object... os) {
        for (Object o : os) {
            if (isEmpty(o)) {
                return true;
            }
        }
        return false;

    }

    /**
     * 对象组中是否全是空对象
     * @Date 2018/3/18 21:59
     */
    public static boolean isAllEmpty(Object... os) {
        for (Object o : os) {
            if (!isEmpty(o)) {
                return false;
            }
        }
        return true;

    }
 

应用案例:

private void saveDept(Dept dept) {if(ValidateUtil.isEmpty(dept.getPid())){log.error("此时部门老大不同意,不许添加部门操作:{}",dept.getDescription());}
}

完整的java类信息:

public class ValidateUtil {/*** 对象是否不为空(新增)** * @Date 2018/3/18 21:57*/public static boolean isNotEmpty(Object o) {return !isEmpty(o);}/*** 对象是否为空*** @Date 2018/3/18 21:57*/public static boolean isEmpty(Object o) {if (o == null) {return true;}if (o instanceof String) {if ("".equals(o.toString().trim())) {return true;}} else if (o instanceof List) {if (((List) o).size() == 0) {return true;}} else if (o instanceof Map) {if (((Map) o).size() == 0) {return true;}} else if (o instanceof Set) {if (((Set) o).size() == 0) {return true;}} else if (o instanceof Object[]) {if (((Object[]) o).length == 0) {return true;}} else if (o instanceof int[]) {if (((int[]) o).length == 0) {return true;}} else if (o instanceof long[]) {if (((long[]) o).length == 0) {return true;}}return false;}/*** 对象组中是否存在空对象** * @Date 2018/3/18 21:59*/public static boolean isOneEmpty(Object... os) {for (Object o : os) {if (isEmpty(o)) {return true;}}return false;}/*** 对象组中是否全是空对象** * @Date 2018/3/18 21:59*/public static boolean isAllEmpty(Object... os) {for (Object o : os) {if (!isEmpty(o)) {return false;}}return true;}
}

 

这篇关于【java工具类】参数校验工具类java判断是否为空的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045872

相关文章

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

Java中的密码加密方式

《Java中的密码加密方式》文章介绍了Java中使用MD5算法对密码进行加密的方法,以及如何通过加盐和多重加密来提高密码的安全性,MD5是一种不可逆的哈希算法,适合用于存储密码,因为其输出的摘要长度固... 目录Java的密码加密方式密码加密一般的应用方式是总结Java的密码加密方式密码加密【这里采用的

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步