st是字符串的名稱,trim()方法用來去掉字符串中的空格。只是不太明白st.trim().equals("")與"".equals(st)的區別,這兩個語句都是判斷st是否為空,那么前一個跟后一個相比效果有什么不一樣呢?盼高手解答
4 回答

慕的地6264312
TA貢獻1817條經驗 獲得超6個贊
從對象的角度看,st.trim()產生了一個新的對象,這個新的對象調用了equals("")方法,所以這個表達式一個有三個對象;而"".equals(st)中只有兩個對象。
從結果看,如果字符串st不是空,即st由空格組成時,st.trim().equals("")的結果為真,而"".equals(st)的結果為假。
如果字符串st為空,則這兩個表達式的結果就是一樣的。

隔江千里
TA貢獻1906條經驗 獲得超10個贊
trim()方法去掉一個字符串首尾的空白字符。假設有一個字符串s = " "(3個空格),那么s.trim()后返回的就是""。
但是使用st.trim().equals("")會出現一個問題,當st是傳入的參數時有可能出現null值,當然也就沒有trim()和equals()方法,這時如果沒檢驗null值則會出現程序錯誤.
而"".equals(st)比較的時候如果st為null值也可以得出正確的結果,這是它們最大的不同.
- 4 回答
- 0 關注
- 1034 瀏覽
添加回答
舉報
0/150
提交
取消