string比较:“==”,equals(),TextUtils.isEmpty(str),str.isEmpty()的区别

1.“==”

  • 属于基础操作符
  • 用于基础数据类型的比较
  • 比较的时候判断的是引用是否指向堆内存的同一块地址

2.equals

  • String类中的方法
  • 比较当前字符串对象的实体是否与参数指定的字符串实体相同(比较内容)

3.TextUtils.isEmpty(str)

源码分析:

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的时候,会出现空指针异常

原文地址:https://www.cnblogs.com/mbp-study/p/6632499.html