如何检查字符串是否不为null也不为空?
public void doStuff(String str) { if (str != null && str != "**here I want to check the 'str' is empty or not**") { /* handle empty string */ } /* ... */ }
那isEmpty()呢?
isEmpty()
if(str != null && !str.isEmpty())
确保&&按此顺序使用的部分,因为如果的第一部分&&失败,java将不会继续评估第二部分,因此确保你不会从str.isEmpty()if str为null的情况下得到null指针异常。
str.isEmpty()if str
请注意,仅从Java SE 1.6起可用。你必须检查str.length() == 0以前的版本。
str.length() == 0
也要忽略空格:
if(str != null && !str.trim().isEmpty())
(由于Java 11 str.trim().isEmpty()可以简化为str.isBlank()也可以测试其他Unicode空白)
Java 11 str.trim().isEmpty()
str.isBlank()
Unicode
包裹在一个方便的功能中:
public static boolean empty( final String s ) { // Null-safe, short-circuit evaluation. return s == null || s.trim().isEmpty(); }
成为:
if( !empty( str ) )