问题:
当使用下面的方式的时候,如果user.getName本身就是空,那么就会出现空指针异常。
String username = user.getName;
if(!username.isEmpty()){
//业务逻辑
}
解决:
使用 StringUtils
工具类(推荐)
Apache Commons Lang 提供了一个非常有用的工具类 StringUtils
,可以帮助你处理字符串操作。你可以使用 StringUtils.isEmpty()
方法来同时检查字符串是否为 null
或空。
import org.apache.commons.lang3.StringUtils;
String username = user.getName();
if (StringUtils.isEmpty(username)) {
// username is null or empty
} else {
// username is not null and not empty
}
手动检查
你也可以手动检查字符串是否为 null
,然后再检查是否为空:
String username = user.getName();
if (username == null || username.isEmpty()) {
// username is null or empty
} else {
// username is not null and not empty
}
使用 Objects
工具类(Java 8 及以上)
Java 8 引入了 Objects
工具类,可以简化 null
检查:
import java.util.Objects;
String username = user.getName();
if (Objects.isNull(username) || username.isEmpty()) {
// username is null or empty
} else {
// username is not null and not empty
}