null和空串的区别

null是没有地址
""是有地址但是里面的内容是空的
就类似于0和不写的区别,是数字,虽然是0。但是不写就代表没有数字
String str = null 定义了一个变量,但是没有指向任何空间 String str = "" 定义了一个变量,指向了一片内存空间,但是这篇内存空间是空串
String str = null  定义了一个变量,但是没有指向任何空间
String str = ""    定义了一个变量,指向了一片内存空间,但是这篇内存空间是空串
  • String str = null 未分配内存空间
  • String str ; 分配了内存空间,但是没有存入对象
  • String str = "" 分配了内存空间,存入了空串
  • String str = "a" 分配了内存空间,存入了“a”
 

原文地址:https://www.cnblogs.com/xiexiaofei/p/14185147.html