"string".equals(myValue)

 
爲什麼比較時有人推薦 0==len ,要把常量放在前面,作爲第一操作數?
① 因爲在c語言中   if(len=0){}和if(len==0){}語法上都正確,  
  爲了減少這種錯誤,使用if(0==len){}  
  如果你寫成if(0=len){}是沒有辦法編譯的。
② 我只在比較字符串時這樣寫     "string".equals(myValue)    避免myValue爲null 
③ NullPointerException繼承RuntimeException,而編譯器不會針對RuntimeException提示進行異常處理。因此,我們看上去完美的應用程序,最後的下場可能是顯示一個NullPointerException以及代碼的呼叫棧,然後異常中止。
④ 何一個針對空值的 “.” 引用都會拋出NullPointerException
⑤ 根據aString.equals( bString ) 當bString==null的時候,返回false這個事實,我們可以得到比較一個變量於一個字符串常量的簡潔寫法:
if ( “AConstantString”.equals(s) )
否則我們要寫
if(s != null && s.equals(“AConstantString”)) {
 
    ……//一個正確,稍微快一點點,但是不那麼簡潔的寫法,
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章