黑马程序员技术交流社区

标题: 关于String的一个问题 [打印本页]

作者: decadence90    时间: 2015-7-20 21:21
标题: 关于String的一个问题
String中  null    和    ""     有什么区别
  求大神指教
作者: _sunrain    时间: 2015-7-20 21:25
null没对象。
“”有对象
作者: 李峥    时间: 2015-7-20 21:33
String s1 = "";
                String s2 = null;
                System.out.println(s1.hashCode());
                System.out.println(s2.hashCode());
作者: 李峥    时间: 2015-7-20 21:35
System.out.println(s1.hashCode());//result--0
System.out.println(s2.hashCode());//result--空指针异常
作者: ajiao    时间: 2015-7-20 21:40
空不占内存,“”开辟了空间
作者: decadence90    时间: 2015-7-20 21:48
李峥 发表于 2015-7-20 21:33
String s1 = "";
                String s2 = null;
                System.out.println(s1.hashCode());

经过验证,豁然开朗,谢谢
作者: 星空1990211    时间: 2015-7-20 21:48
null是指String 字符串中不占用任何空间字符串; “”是指有字符串,字符串在内存在存储了的喽
作者: decadence90    时间: 2015-7-20 21:50
李峥 发表于 2015-7-20 21:35
System.out.println(s1.hashCode());//result--0
System.out.println(s2.hashCode());//result--空指针异常 ...

嗯 我用了你的方法验证了一下确实是这样
作者: Mr冷夏    时间: 2015-7-20 21:54
null是空指针  就是没有任何引用  “”是一个空字符串
作者: sky2007xu    时间: 2015-7-20 22:27
学习了,加油!
作者: 流水王朝    时间: 2015-7-20 22:33
null是不指向对象的,“”是new了个对象,没内容,会开辟空间。
作者: 月倚深秋    时间: 2015-7-20 22:33
老师举了个例子,吃过羊肉串吧,那个“”代表你手里只剩下竹签了。那null代表你啥也没有
作者: chaotongyou    时间: 2015-7-20 22:38
看样子楼上都是一个班的
作者: longbao    时间: 2015-7-20 23:34
真心受教了
作者: Sparky    时间: 2015-7-20 23:42
null是空常亮,""是值为空的字符串对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2