Java中常用判断方法

对象的判断(Objects工具类-Java自带)

Objects.equals(Object a, Object b)

如果参数相等返回true,否则false。 因此,如果这两个参数是null ,返回 true,如果只有一个参数为null , 返回 false。 否则,通过使用第一个参数的equals方法确定相等性。

public static boolean equals(Object a, Object b) {
        return (a == b) || (a != null && a.equals(b));
    }

Objects.isNull(Object obj)

如果提供的参考是 null返回 true,否则返回 false 。

public static boolean isNull(Object obj) {
        return obj == null;
    }

Objects.nonNull(Object obj)

如果提供的参考是非 null返回 true,否则返回 false 。

public static boolean nonNull(Object obj) {
        return obj != null;
    }

Objects.toString(Object o, String nullDefault)

如果第一个参数不是 null ,则返回在第一个参数上调用 toString的结果,否则返回第二个参数。

public static String toString(Object o, String nullDefault) {
        return (o != null) ? o.toString() : nullDefault;
    }

字符串的判断( StringUtils工具类-Hutool)

isEmpty(String str)

判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0

isNotEmpty(String str)

判断某字符串是否非空,等于 ! isEmpty(String str)

isBlank(String str)

判断某字符串是否为 空 或 长度为0 或由 空白(whitespace)构成

StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符
StringUtils.isBlank() //均识为空白符
StringUtils.isBlank("\b") = false //"\b"为单词边界符

isNotBlank(String str)

判断某字符串是否为 空 或 长度为0 或由 空白(whitespace)构成

isNoneBlank(String str)

检查是否没有任何为空(“”)、null、或仅空白

StringUtils.isNoneBlank((String) null) = false
StringUtils.isNoneBlank((String[]) null) = true
StringUtils.isNoneBlank("") = false
StringUtils.isNoneBlank(null) = true
StringUtils.isNoneBlank(" ") = false

注意

  • isEmpty和isBlank不同的地方, isEmpty认为空格(无论单空格还是多空格)都是不是空. 而isBlank 认为空格,换行符号(\n),tab(\t)都是空。
  • isNoneBlank 和isNotBlank 在同一个参数的情况下, 含义是一样的, 但是isNoneBlank 的参数, 可以是一个字符数组, 当isNoneBlank 的参数是一个数组的时候, 就是说有一个参数为null, 那么返回都会返回false
  • 一般情况下 isNoneBlank 用于校验表单的参数是否为空. 如果有一个为空, 都不满足条件。

断言的使用(Assert工具类)

断言的理解: 断言他满足条件不抛异常; 不满足断言时产生异常;
常常结合try一起使用(或者全局定义,异常抛出)

  • 下列方法都有重载,可自定义抛出异常,下面举个例子
	public static void main(String[] args) {
        try {
           Assert.isTrue(false, "这里出错了");
           // Assert.isTrue(false);
           // Assert.isTrue(false, () -> new CommonBizException("这里出错了"));
        } catch (Exception e) {
            log.error("报错原因:[{}]", e.getMessage());
        }
    }
输出:[main] ERROR ***** - 报错原因:[这里出错了]

notNull(Object object)

当 object 为 null 时抛出异常; 理解: 断言他不是空, 当是空的时候不满足断言则出异常

isNull(Object object)

当 object 不为 null 时抛出异常;
理解:断言他是空, 当他不是空时,不满足断言则出异常

notEmpty(Collection collection)

当 collection 为空时抛异常;
理解:断言他不是空, 当他时空时,不满足断言,抛异常;

isTrue(boolean expression)

当 expression不为 true 时抛出异常;
理解:断言他是true, 当他不是true,是不满足断言则出异常

isFalse(boolean expression)

当 expression不为false 时抛出异常;
理解:断言他是false, 当他不是false,是不满足断言则出异常

hasText(String text)

当 text 不是text时抛异常;
理解: 断言他是text, 当他不是text时不满足断言,抛异常

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小沐_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值