如何检查字符串值是否为空方面有很多实现,我真的很困惑该使用什么!
这些是我到目前为止的搜索:
if(myString == null){}
Objects.equals(null, myString);
ObjectUtils.isEmpty(myString)
myString.equals(null)
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"));
有很多选项,只需阅读文档
但正如穆雷尼克在他的回答中提到的==
在你的情况下就足够了。
-
if(myString == null)
最简单和正确的方法。
-
Objects.equals(null, myString)
正确的方式,它的实现基于 1。
-
ObjectUtils.isEmpty(myString)
不确定您正在使用哪个
ObjectUtils
,但它似乎检查myString
是空的,而不是空的。 -
myString.equals(null)
当
myString
为空时,这不起作用,NPE 将被抛出。 -
myString.compareTo(null)
当
myString
为 null 时,这不起作用,NPE 将被抛出。
'
String results;
if(results==null ||results.length()==0) {
}
'