java中""与null的区别

在项目中我们会经常遇到"“与null的问题,那么这两者之间有什么区别呢?
1.从类型上分析:
String s = “”;这个代表的是空的字符串,长度为0。
String s = null;这个null代表的是一个对象,而这里的s就相当于是对null这个对象的引用。
2.从内存分配上看:
String s = “”;表示声明一个字符串类型的引用,其值为”"空字符串,这个str引用指向的是空字符串的内存空间;
String s = null;表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;

组后说明:创建一个字符串对象的默认值为""(String s = new String()),即
String s = new String();
String s1 = “”;
s.equals(s1);返回true

猜你喜欢

转载自blog.csdn.net/qq_28581785/article/details/84951996