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;
}
}