4 回答

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

TA貢獻(xiàn)1906條經(jīng)驗 獲得超10個贊
trim()方法去掉一個字符串首尾的空白字符。假設(shè)有一個字符串s = " "(3個空格),那么s.trim()后返回的就是""。
但是使用st.trim().equals("")會出現(xiàn)一個問題,當(dāng)st是傳入的參數(shù)時有可能出現(xiàn)null值,當(dāng)然也就沒有trim()和equals()方法,這時如果沒檢驗null值則會出現(xiàn)程序錯誤.
而"".equals(st)比較的時候如果st為null值也可以得出正確的結(jié)果,這是它們最大的不同.

TA貢獻(xiàn)1858條經(jīng)驗 獲得超8個贊
- 4 回答
- 0 關(guān)注
- 1044 瀏覽
添加回答
舉報