在 Java 中检查字符串值是否为空的最佳方法



如何检查字符串值是否为空方面有很多实现,我真的很困惑该使用什么!

这些是我到目前为止的搜索:

  1. if(myString == null){}

  2. Objects.equals(null, myString);

  3. ObjectUtils.isEmpty(myString)

  4. myString.equals(null)

  5. myString.compareTo(null);


注意:这都是关于性能,可靠编码,故障安全和其他安全目的!

更新:myString 是动态的,如果它是空的怎么办,上面的一些实现会抛出 NullPointerException!

只需使用一个简单的==。没有必要把这复杂化。

如果你

使用的是Java 8,你可以使用Optional::ofNullable

Optional.ofNullable(myString).isPresent()// true if not null, false if null

您甚至可以使用 :

Optional.ofNullable(myString)
        .orElseThrow(() -> new Exception("If null throw an exception"));

有很多选项,只需阅读文档


但正如穆雷尼克在他的回答中提到的==在你的情况下就足够了。

  1. if(myString == null)

    最简单和正确的方法。

  2. Objects.equals(null, myString)

    正确的方式,它的实现基于 1。

  3. ObjectUtils.isEmpty(myString)

    不确定您正在使用哪个ObjectUtils,但它似乎检查myString是空的,而不是空的。

  4. myString.equals(null)

    myString为空时,这不起作用,NPE 将被抛出。

  5. myString.compareTo(null)

    myString为 null 时,这不起作用,NPE 将被抛出。

'

String results;
if(results==null ||results.length()==0) {
}

'

相关内容

  • 没有找到相关文章

最新更新