关于字符串比对的几种方法
2023-12-13 10:14:12
isEmpty系列
StringUtils.isEmpty()
这个方法用于判断CharSequence
是否为空,即为null
或长度为0。方法的实现十分简洁,通过对CharSequence
的null
检查和长度检查来确定是否为空。
public?static?boolean?isEmpty(final?CharSequence?cs)?{
????return?cs?==?null?||?cs.length()?==?0;
}
StringUtils.isNotEmpty()
与isEmpty()
相反,该方法用于判断CharSequence
是否不为空。这是一个实用的方法,通过调用isEmpty()
的结果的取反来实现。
public?static?boolean?isNotEmpty(final?CharSequence?cs)?{
????return?!isEmpty(cs);
}
StringUtils.isAnyEmpty()
该方法用于判断一组CharSequence
中是否至少有一个为空。通过遍历传入的CharSequence
数组,检查每个元素是否为空,如果存在任何一个为空,则返回true
。
public?static?boolean?isAnyEmpty(final?CharSequence...?css)?{
????if?(ArrayUtils.isEmpty(css))?{
????????return?true;
????}
????for?(final?CharSequence?cs?:?css){
????????if?(isEmpty(cs))?{
????????????return?true;
????????}
????}
????return?false;
}
StringUtils.isNoneEmpty()
该方法与isAnyEmpty()
相反,用于判断一组CharSequence
是否全部不为空。通过调用isAnyEmpty()
的结果的取反来实现。
public?static?boolean?isNoneEmpty(final?CharSequence...?css)?{
????return?!isAnyEmpty(css);
}
isBlank系列
StringUtils.isBlank()
isBlank()
方法用于判断CharSequence
是否为空白,包括null
、空字符串或仅包含空格的字符串。通过遍历CharSequence
中的每个字符,检查是否存在非空格字符,从而判断是否为空白。
public?static?boolean?isBlank(final?CharSequence?cs)?{
????final?int?strLen?=?length(cs);
????if?(strLen?==?0)?{
????????return?true;
????}
????for?(int?i?=?0;?i?<?strLen;?i++)?{
????????if?(!Character.isWhitespace(cs.charAt(i)))?{
????????????return?false;
????????}
????}
????return?true;
}
StringUtils.isNotBlank()
与isBlank()
相反,isNotBlank()
方法用于判断CharSequence
是否不为空白。通过调用isBlank()
的结果的取反来实现。
public?static?boolean?isNotBlank(final?CharSequence?cs)?{
????return?!isBlank(cs);
}
StringUtils.isAnyBlank()
该方法用于判断一组CharSequence
中是否至少有一个为空白。通过遍历传入的CharSequence
数组,检查每个元素是否为空白,如果存在任何一个为空白,则返回true
。
public?static?boolean?isAnyBlank(final?CharSequence...?css)?{
????if?(ArrayUtils.isEmpty(css))?{
????????return?true;
????}
????for?(final?CharSequence?cs?:?css){
????????if?(isBlank(cs))?{
????????????return?true;
????????}
????}
????return?false;
}
StringUtils.isNoneBlank()
该方法与isAnyBlank()
相反,用于判断一组CharSequence
是否全部不为空白。通过调用isAnyBlank()
的结果的取反来实现。
public?static?boolean?isNoneBlank(final?CharSequence...?css)?{
????return?!isAnyBlank(css);
}
-
Optional类:
import java.util.Optional;
public class Main {
public static void main(String[] args) {
String key = "key";
String value = Optional.ofNullable(getValue(key)).orElse("");
System.out.println("Value: " + value);
}
public static String getValue(String key) {
// 这里模拟从数据库或其他地方获取值,可能返回null或空串
return null;
}
}
在这个例子中,如果getValue()
方法返回null,Optional.ofNullable()
会返回一个空的Optional,然后orElse("")
会返回空串。
-
使用Java 8的流(Stream):
import java.util.stream.Stream;
import java.util.Optional;
import java.util.function.Supplier;
public class Main {
public static void main(String[] args) {
String key = "key";
String value = Stream.ofNullable(getValue(key)).orElseGet(Supplier.empty()).orElse("");
System.out.println("Value: " + value);
}
public static String getValue(String key) {
// 这里模拟从数据库或其他地方获取值,可能返回null或空串
return null;
}
}
文章来源:https://blog.csdn.net/qq_33709529/article/details/134945092
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!