Java中常用判断方法-创新互联
- 对象的判断(Objects工具类-Java自带)
- Objects.equals(Object a, Object b)
- Objects.isNull(Object obj)
- Objects.nonNull(Object obj)
- Objects.toString(Object o, String nullDefault)
- 字符串的判断( StringUtils工具类-Hutool)
- isEmpty(String str)
- isNotEmpty(String str)
- isBlank(String str)
- isNotBlank(String str)
- isNoneBlank(String str)
- 注意
- 断言的使用(Assert工具类)
- notNull(Object object)
- isNull(Object object)
- notEmpty(Collection collection)
- isTrue(boolean expression)
- isFalse(boolean expression)
- hasText(String text)
如果参数相等返回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)isNotEmpty(String str)判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
isBlank(String str)判断某字符串是否非空,等于 ! isEmpty(String str)
判断某字符串是否为 空 或 长度为0 或由 空白(whitespace)构成
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符
StringUtils.isBlank() //均识为空白符
StringUtils.isBlank("\b") = false //"\b"为单词边界符
isNotBlank(String str)isNoneBlank(String str)判断某字符串是否为 空 或 长度为0 或由 空白(whitespace)构成
检查是否没有任何为空(“”)、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 用于校验表单的参数是否为空. 如果有一个为空, 都不满足条件。
断言的理解: 断言他满足条件不抛异常; 不满足断言时产生异常;
常常结合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)isNull(Object object)当 object 为 null 时抛出异常; 理解: 断言他不是空, 当是空的时候不满足断言则出异常
notEmpty(Collection collection)当 object 不为 null 时抛出异常;
理解:断言他是空, 当他不是空时,不满足断言则出异常
isTrue(boolean expression)当 collection 为空时抛异常;
理解:断言他不是空, 当他时空时,不满足断言,抛异常;
isFalse(boolean expression)当 expression不为 true 时抛出异常;
理解:断言他是true, 当他不是true,是不满足断言则出异常
hasText(String text)当 expression不为false 时抛出异常;
理解:断言他是false, 当他不是false,是不满足断言则出异常
当 text 不是text时抛异常;
理解: 断言他是text, 当他不是text时不满足断言,抛异常
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章名称:Java中常用判断方法-创新互联
网页URL:http://ybzwz.com/article/hsopi.html