java的非空判断工具类

总结了很多的工具类
直接上代码

package com.dz.three.utils;

import org.springframework.lang.Nullable;

import java.lang.reflect.Array;
import java.util.*;

/**
 * 所有的非空判断工具类
 * create by dz
 * 202-07-27
 */
public class NullUtils {
    /**
     * 可以判断任意值
     */
    public static boolean isEmpty(Object obj) {

        if (obj == null) return true;
        else if (obj instanceof CharSequence) return ((CharSequence) obj).length() == 0;
        else if (obj instanceof Collection) return ((Collection) obj).isEmpty();
        else if (obj instanceof Map) return ((Map) obj).isEmpty();
        else if (obj.getClass().isArray()) return Array.getLength(obj) == 0;

        return false;
    }

    /**
     * flag 为true使用trim判断
     * 使用trim去空判断
     */
    public static final boolean isNotEmptyString(String value, Boolean flag) {
        if (flag) {
            return !(value == null || value.trim().length() == 0 || "".equals(value));
        } else {
            return isNotEmptyString(value);
        }
    }

    /**
     * 检测某个字符变量是否不为空
     * 判断 非空 ,长度大于0 ,不等于空串
     */
    public static final boolean isNotEmptyString(final CharSequence value) {
        return !(value == null || value.length() == 0 || "".equals(value));
    }

    /**
     * 检测某个list是否不为空
     * 方法一(数据量大,效率低):
     * if(list != null && list.size() > 0){
     * 方法二(数据量大,效率高):
     * if(list != null && !list.isEmpty()){
     * 所以判断list里是否有元素的最佳的方法是:
     * if(list != null && !list.isEmpty()){
     */
    public static final boolean isNotEmptyList(@Nullable Collection<?> list) {
        return !(list == null || list.isEmpty());
    }

    /**
     * 检测map是否不为空
     * 判断 非空 ,长度大于0 ,不等于空串
     */
    public static final boolean isNotEmptyMap(@Nullable Map<?, ?> map) {
        return !(map == null || map.isEmpty());
    }

    /**
     * 过滤字符
     */
    public static String trimAll(String str) {
        return str.trim()
                .replaceAll("[ *| *| *|//s*]*", "")
                .replaceAll("^[ *| *| *|//s*]*", "")
                .replaceAll("[ *| *| *|//s*]*$", "");
    }

    /**
     * 数组判断不为空,没有泛型数组,所以还是分开写吧
     *
     * @param arrs 可以是int,short,byte,String,Object,long
     * @return
     */
    public static boolean isNotEmptyArrs(int[] arrs) {
        return arrs != null && arrs.length > 0;
    }

    /**
     * 数组判断不为空,没有泛型数组,所以还是分开写吧
     */
    public static boolean isNotEmptyArrs(String[] arrs) {
        return arrs != null && arrs.length > 0;
    }

    public static void main(String[] args) {

//        System.out.println(NullUtils.isNotEmptyString("   ", true));
//        System.out.println(NullUtils.isNotEmptyString("1   "));
        List<String> list = new ArrayList<>();
//        StringUtils.isNotBlank()
        list.add("56");
//        System.out.println(NullUtils.isNotEmptyList(list));
        Map<String, Object> map = new HashMap<>();
        map.put("1", list);
        System.out.println(NullUtils.isNotEmptyMap(map));
        System.out.println(!NullUtils.isEmpty(map));
    }
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卧虎3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值