錯誤用法1.
if (name == "") {
//do something
}
錯誤用法2.
if (name.equals("")){
//do something
}
錯誤用法3.
if (!name.equals("")){
//do something
}
錯誤1. 是新手比較容易犯的錯,從程式寫法上解讀感覺也沒錯,也滿難發現的,
因為語法本身完全沒問題,也可以正常complie
但是這種條件在執行程式的時候,會有Bug出現,永遠也不會是true
簡單說就是判斷後裡面的語法永遠都不會被執行到
錯誤2.跟3. 很多java Programmer 也會犯錯,
為什麼錯呢!? 本身語法也是沒問題,但是忘了一點,如果不是空值是null呢!?
程式就會直接丟出NullPointException了
正確寫法有兩種,一種是先加上 name!= null的條件
正確用法1.
if (name != null && !name.equals("")) {
//do something
}
比較建議的寫法是將""寫在前頭
正確用法2.
if (!"".equals(name)) {
//do something
}
將""寫在前面的好處是,不管name 是不是null 都不會報錯 ~~