EmptyUtil工具类

判断对象是否为空、是否不为空,数组是否为空、是否不为空,是否全不为空、是否全为空

复制代码
package com.alphajuns.util;

import java.util.Collection;
import java.util.Iterator;
import java.util.Map;

/**
 * @ClassName EmptyUtil
 * @Description 判断对象是否为空工具类
 * @Author AlphaJunS
 * @Date 2020/3/18 20:10
 * @Version 1.0
 */
public class EmptyUtil {

    /**
     * @Description 判断是否不为空
     * @param o
     * @return boolean
     */
    @SuppressWarnings("rawtypes")
    public static boolean isNotEmpty(Object o) {
        boolean boo = false;
        if (o instanceof String) {
            if (null != o) {
                o = (o.toString()).trim();
            }
            if (null != o && !"".equals(o)) {
                boo = true;
            }
        } else if (o instanceof Collection) {
            if (((Collection) o).size() != 0 && null != ((Collection) o)) {
                for (Object object : (Collection) o) {
                    if (null != object) {
                        return true;
                    }
                }
            }
        } else if (o instanceof Map) {
            if (null != o) {
                for (final Iterator ITONE = ((Map) o).keySet().iterator(); ITONE.hasNext();) {
                    Object mo;
                    mo = ((Map) o).get(ITONE.next());
                    if (isNotEmpty(mo)) {
                        boo = true;
                    }
                }
            }
        } else {
            if (null != o) {
                boo = true;
            }
        }
        return boo;
    }

    /**
     * @Description 判断为空
     * @param o
     * @return boolean
     */
    public static boolean isEmpty(Object o) {
        return !isNotEmpty(o);
    }

    /**
     * @Description 判断对象数组是否为空
     * @param o
     * @return boolean
     */
    public static boolean arrayIsEmpty(Object[] o) {
        return !arrayIsNotEmpty(o);
    }

    /**
     * @Description 断对象数组是否不为空
     * @param o
     * @return boolean
     */
    public static boolean arrayIsNotEmpty(Object[] o) {
        boolean boo = false;
        if (isEmpty(o)) {
            boo = false;
        } else {
            for (Object object : o) {
                if (isNotEmpty(object)) {
                    boo = true;
                }
            }
        }
        return boo;
    }

    /**
     * @Description 判断全不为空
     * @param objects
     * @return boolean
     */
    public static boolean isAllNotEmpty(Object... objects) {
        for (Object object : objects) {
            if (isEmpty(object)) {
                return false;
            }
        }
        return true;
    }

    /**
     * @Description 判断全为空
     * @param objects
     * @return boolean
     */
    public static boolean isAllEmpty(Object... objects) {
        for (Object object : objects) {
            if (isNotEmpty(object)) {
                return false;
            }
        }
        return true;
    }
    
}
复制代码

 

posted @   AlphaJunS  阅读(790)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示