黑马程序员技术交流社区
标题:
空字符串和null的区别是什么
[打印本页]
作者:
AnrryHo
时间:
2016-4-27 00:59
标题:
空字符串和null的区别是什么
空字符串和null的区别是什么
作者:
小K哥
时间:
2016-4-27 07:33
空字符串是有内存空间,null是无内存空间。
作者:
yanwenyong
时间:
2016-4-27 08:21
按照指针的思路来讲比较容易一些,
平常我们 String msg;就相当于创建了一个指针,或者说给我们一个可以去提取数据的标识。
但是现在这个标识没有办法使用,因为它不指向任何位置。
此时我们就可以说 msg = null;
但是一旦开始给msg赋值 哪怕是不写内容例如msg = “”;
这个时候msg就开始指向内存中的一块地址,该地址的内容就是“”;
也就是说 系统先去分配内存空间,然后让msg去指向刚刚分配的内存地址,最后给地址赋值""(即便是空字符串,但是也在内存中占据位置)
所以总的来说 空字符串和 null最大的区别就在于是否在内存中占据空间。
在应用过程中 假如我们要打印出来msg的是空字符串 那可以打印出来 而且不会报错 只不过数据是什么都没有
但是如果我们打印的msg是null 那在执行打印语句的时候就会报错,就是通常我们遇到的NullPointException
作者:
小红花
时间:
2016-4-27 10:06
前者在内存中占据空间,而null在内存中却不占内存
作者:
dtmacg
时间:
2016-4-27 10:35
空字符串有内存空间,null无内存空间。 空字符串可以调用方法,而null不能指向对象不能调用方法
作者:
炙爱小爱
时间:
2016-4-27 19:09
打个比方,一串羊肉串,一个肉没了还剩下一根棍子,一个棍子也没有了,不懂私聊我
作者:
tongtian
时间:
2016-4-27 19:44
加油加油加油加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2