空字符串:“”和null的区别

原地址:https://blog.csdn.net/harry5508/article/details/81028153

两者区别非常大,虽然都是没有信息,但是null代表堆内存中根本没有这个东西,而空字符串就完全不同了,空字符串也是字符串,他是有内存空间的,你可以这样尝试一下:

String aaa = null;

String bbb = "";

然后调用String的方法比如说

aaa.indexOf("a");

bbb.indexOf("a");

这样的话,字符串aaa在调用indexOf的时候会报空指针异常,而bbb则不会。

因为aaa在堆内存中不存在,无法调用方法,而bbb是存在的。

你可以这么想,余额宝里有100块,虽然每天只能产生0.01收益,

但是他还是可以调用他的计算方法,他可以赚取收益,他是存在的(“”),

但是如果余额宝钱都不存在了(null),是不可能执行收益的。
 

上一篇:MyBatis-Plus配置


下一篇:一分钟学会用SpringBoot 整合Mybatis Plus各类框架