关于字符串比对的几种方法

2023-12-13 10:14:12

isEmpty系列

StringUtils.isEmpty()

这个方法用于判断CharSequence是否为空,即为null或长度为0。方法的实现十分简洁,通过对CharSequencenull检查和长度检查来确定是否为空。

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);
}
  1. 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("")会返回空串。

  1. 使用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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。