java 基礎之 null 與 「」

  1. String str1 = null; str引用爲空   
  2. String str2 = ""; str引用爲空串   
  3.   
  4. 直接點就是null沒有分配內存空間,而""分配了內存空間,所以str1還不是一個實例化的對象,而str2已經實例化。   
  5.   
  6. 注意由於null不是對象,""是對象。因此比較的時候必須是 if(str1==null){....}和if(str2.equals("")){....}   
  7.   
  8. 內存地址比較用equals,null用等號比較。  
  9.   
  10. 所以,若是str1=null;下面的寫法錯誤:   
  11. if(str1.equals("")||str1==null){  
  12. //若是str1沒有值,則返回false  
  13. }   
  14. 正確的寫法是 if(str1==null||str1.equals("")){   
  15. //先判斷是否是對象,若是是,再判斷是否是空字符串   
  16. }   
相關文章
相關標籤/搜索