Java空字符串与null的区别和判断字符串是否为空的方法

 我来答
野人无事不言L
2016-08-29 · TA获得超过1414万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:145.1亿
展开全部
他们的区别可相当大,虽然都是没有信息,但是null代表堆内存中根本没有这个东西,而空字符串就完全不同了,空字符串也是字符串,他是有内存空间的,你可以这样尝试一下:
String aaa = null;
String bbb = "";
然后调用String的方法比如说
aaa.indexOf("a");
bbb.indexOf("a");
这样的话,字符串aaa在调用indexOf的时候会报空指针异常,而bbb则不会。
因为aaa在堆内存中不存在,无法调用方法,而bbb是存在的。
你可以这么想,一个残疾人,虽然他是残疾的,
但是他还是可以调用他的方法,他可以吃饭,
但是如果这个人都不存在了,吃饭更无法执行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式