1、空字符串:
空字符串表示一个字符串对象引用的值为空,String a ="" 声明了一个字符串变量a,变量a的值为空。而a指向了空字符串的内存空间。
2、null
null表示:一个字符串对象的引用为空,String a=null; 声明了一个字符串变量a,变量a的引用为空。所以a没有指向任何的内存空间,在堆中也没有开辟任何的空间
代码:
package beli2017; //null与空字符串的区别 public class NullDemo { public static void main(String[] args){ String str=""; String str1=new String();//创建一个字符串对象的默认值为"" String str2=null; //str和str1被实例化,而str2没有实例化,但str和str1所指的地址不同,但值一样,都为空。 System.out.println(str==str1); //内存地址的比较,返回false System.out.println(str.equals(str1)); //值的比较,返回true System.out.println(str1==str2); //内存地址的比较,返回false System.out.println(str1.equals(str2)); //值的比较,返回false System.out.println(s