string比較:「==」,equals(),TextUtils.isEmpty(str),str.isEmpty()的區別

1.「==」源碼分析

  • 屬於基礎操做符
  • 用於基礎數據類型的比較
  • 比較的時候判斷的是引用是否指向堆內存的同一塊地址

2.equalsspa

  • String類中的方法
  • 比較當前字符串對象的實體是否與參數指定的字符串實體相同(比較內容)

3.TextUtils.isEmpty(str)指針

源碼分析:code

public static boolean isEmpty(CharSequence str) {
        if (str == null || str.length() == 0)
            return true;
        else
            return false;
    }
  • String實現了這個接口
  • 咱們能夠用TextUtils.isEmpty(str)來代替if(text==null || text.length()==0)

4.str.isEmpty()對象

至關於只判斷了str.length == 0.當null的時候,會出現空指針異常blog

相關文章
相關標籤/搜索