Bootstrap

Java关于null和空字符串““的区别

我们都知道当我们new一个String类型的变量是时,用的是
String str = null;而不是Sting str =“”;

null不会分配内存空间,相当于什么都没有。
""是一个长度为 0 且占内存的空字符串,在内存中分配一个空间。

看测试在这里插入图片描述
在这里插入图片描述
报了空指针异常
当用str.equals(str2)判断两个字符串str和str2是否相等时返回false
若是要判断"",则是根据值进行判断

str.equals("")//str的值是否为空,==表示比较地址
str.isEmpty()
str.length()==0

若要判断null

if(str==null)

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;