字符串判空的几种方式以及他们之间的区别

xiaoxiao2021-02-28  89

1、首先先理解这个三个变量的含义:

[java]  view plain  copy  print ? String a = new String   String b = ""   String c =null  

含义:

[java]  view plain  copy  print ? 此时a是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已)   此时b是分配了内存空间,值为空字符串,是相对的空,是一种有值(值存在为空字串)   此时c是未分配内存空间,无值,是一种无值(值不存在)   2.==和.equals()的区别

总结:对于== 比较的是栈内存中存放的引用堆内存中对象的引用地址,.equals()比较的是俩个值是否相等,而不是比地址。

3.TextUtils.isEmpty(str)和str.isEmpty()

总结: str.isEmpty();则相当于只判断了str.length == 0。而当空(null)时 str.isEmpty() 会空指针异常。 所以我们可以用TextUtils.isEmpty(str)来代替if(text == null || text.length() == 0) 引用类型继承于Object类(也是引用类型) 常常有引用变量或是String类型变量设置为null,那么null指的是什么?我们看:A a = new A();那么这里a指向堆内存中实例化的A对象。 当a=null,a指向空!我们可以这样理解,null是没有地址,” “是有地址,但里面的内容为空。 4.八种数据类型 基本数据类型:byte,short, int, long, float, double, char, boolean;引用数据类型:String,引用变量;

转载请注明原文地址: https://www.6miu.com/read-64412.html

最新回复(0)