A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天黑偷牛 中级黑马   /  2014-7-30 11:10  /  948 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚才,看了一个同学发帖问“”与null的区别,原来我查过一些资料,总结的一些东西,拿出来晒一下,望大家能指点谬误。
""表示一个字符串对象,只是它表示的是一个空串,String str = "";在内存的字符串常量池里有这么一个对象“”;而null表示什么也没有,null的本质是内存地址编号为0的内存单元,String str1 = null;表示str1这个引用指向了编号为0的这个内存单元,计算机中规定:内存地址编号为0的内存单元既不能读,也不能写。

4 个回复

倒序浏览
学习了。
回复 使用道具 举报
学习了。。
回复 使用道具 举报
null和内存地址0没有必然联系。说null是内存地址0,来源于C,但这根本不是C标准规定的,只是某些编译器自己的实现。把来源于C的这种说法套到Java头上是不对的,JVM虚拟机规范明确说了,null取什么值,你们随意(The Java Virtual Machine does not mandate a concrete value for null.)
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马