对空对象使用“ isEmpty()”时如何避免“ NullPointerException”

时间:2019-07-25 15:41:54

标签: java nullpointerexception

我正在使用一个名为bean的对象,该对象具有名为val的String类型的属性。

我正在寻找一种方法来检查我的String值是否为Empty,并避免出现Null PointerException。

if (bean.getVal().isEmpty())) { // check if my value has some text.
// do some stuff.
}

我希望找到解决此问题的正确方法。

2 个答案:

答案 0 :(得分:3)

我的看法。您在这里有两个潜在的NPE。 Bean可以为null,bean.getVal()可以为null

如果它们都可以为空,那么我可以说:

if (bean != null && bean.getVal() != null && bean.getVal().isEmpty()) {
    // do some stuff
}

如果您保证bean不能为null,则可以跳过第一个null检查,并使用apache commons stringUtils作为实例

if (StringUtils.isEmpty(bean.getVal()) { //do stuff }

答案 1 :(得分:1)

您可以使用JDK8 Optional.ofNullable方法

if(Optional.ofNullable(bean).isPresent() &&!Optional.ofNullable(bean.getValue()).isPresent()){
// do your logic
}