在 Java 中字串的空有兩種
- 字串物件本身為空
- 字串的內容為空
String str1 = null;
String str2 = "";
既然如此,也就需要兩種判斷方式
判斷 null 較為單純
str1 == null
判斷空值有幾種不同的方式
str2.isEmpty()
str2.isBlank()
str2.length() == 0
str2.equals("")
"".equals(str2)
實務上往往需要同時進行兩種判斷,為了避免 NullPointerException
方法一:藉由邏輯運算子的特性,先判斷 null,即可忽略下一組運算
str != null && !str.isEmpty()
//可比較
str != null & !str.isEmpty() //NullPointerException
方法二:使用字串常數比較
str != null & !"".equals(str)
當然如果懶得思考,可以直接死記永遠不會錯的寫法
str != null && !"".equals(str)
也可以自己定義一個判斷方法
public boolean isNullString(String string) {
return string == null || string.equals("");
}