Java空字符串与null的区别和判断字符串是否为空的方法
展开全部
他们的区别可相当大,虽然都是没有信息,但是null代表堆内存中根本没有这个东西,而空字符串就完全不同了,空字符串也是字符串,他是有内存空间的,你可以这样尝试一下:
String aaa = null;
String bbb = "";
然后调用String的方法比如说
aaa.indexOf("a");
bbb.indexOf("a");
这样的话,字符串aaa在调用indexOf的时候会报空指针异常,而bbb则不会。
因为aaa在堆内存中不存在,无法调用方法,而bbb是存在的。
你可以这么想,一个残疾人,虽然他是残疾的,
但是他还是可以调用他的方法,他可以吃饭,
但是如果这个人都不存在了,吃饭更无法执行了。
String aaa = null;
String bbb = "";
然后调用String的方法比如说
aaa.indexOf("a");
bbb.indexOf("a");
这样的话,字符串aaa在调用indexOf的时候会报空指针异常,而bbb则不会。
因为aaa在堆内存中不存在,无法调用方法,而bbb是存在的。
你可以这么想,一个残疾人,虽然他是残疾的,
但是他还是可以调用他的方法,他可以吃饭,
但是如果这个人都不存在了,吃饭更无法执行了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询