亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

st.trim().equals("")與"".equals(st)的區別?

st.trim().equals("")與"".equals(st)的區別?

白衣染霜花 2019-03-05 20:06:10
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為空,則這兩個表達式的結果就是一樣的。

查看完整回答
反對 回復 2019-03-30
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

trim()方法去掉一個字符串首尾的空白字符。假設有一個字符串s = " "(3個空格),那么s.trim()后返回的就是""。
但是使用st.trim().equals("")會出現一個問題,當st是傳入的參數時有可能出現null值,當然也就沒有trim()和equals()方法,這時如果沒檢驗null值則會出現程序錯誤.
而"".equals(st)比較的時候如果st為null值也可以得出正確的結果,這是它們最大的不同.

查看完整回答
反對 回復 2019-03-30
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

trim()方法去掉一個字符串首尾的空白字符。假設有一個字符串s = " "(3個空格),那么s.trim()后返回的就是""。
你可以簡單的做個實驗,就知道兩個的不同了
String s = " ";
if(s.trim().equals(""))
System.out.println("s.trim()后,字符串是空字符串");
if("".equals(s))
System.out.println("字符串是空字符串");
運行后發現只有第一句被打印出來了,說明trim去掉了字符串中所有空白的字符。



查看完整回答
反對 回復 2019-03-30
?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

"".equals(st)好象不能用吧```

""本身不是一個字符串``不能調用equals方法````


查看完整回答
反對 回復 2019-03-30
  • 4 回答
  • 0 關注
  • 1034 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號