if (!(null == str || "".equalsIgnoreCase(str.trim()))) {String str1 = str.trim();}trim之前這樣做判斷對嘛? 目的是避免str為NULL時直接trim報錯現在是如果用|| 是這種寫法 if (!(null == str || "".equalsIgnoreCase(str.trim()))) {String str1 = str.trim();}用&&是這種寫法 if (null != str && !"".equalsIgnoreCase(str.trim())) {......這兩種寫法是一樣的啊
2 回答

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
if (!(null == str && "".equalsIgnoreCase(str.trim()))) {
把||替換成&&就好了 if里面兩個條件全部為非才是我們想要的結果
如果是||的話 如果str==null還會繼續再判斷后面那個條件最終導致空指針異常
補充:修改答案 同意 qianqing02朋友答案 我看了一下,如果null為空還是會判斷后面一個條件,上面的寫法與
if (null != str && !"".equalsIgnoreCase(str.trim())) {

蠱毒傳說
TA貢獻1895條經驗 獲得超3個贊
不對,這樣會報java.lang.NullPointerException
應該改成
if (null != str && !"".equalsIgnoreCase(str.trim())) {
......
這樣如果null != str成立才會走后面的!"".equalsIgnoreCase(str.trim())
- 2 回答
- 0 關注
- 353 瀏覽
添加回答
舉報
0/150
提交
取消