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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马王振宇 中级黑马   /  2013-1-7 09:59  /  1668 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马王振宇 于 2013-1-7 14:02 编辑

Java中 String str = null 和 String str = "" 有什么区别呢?
挺嘎咕个问题,希望分析下内存和区别~

6 个回复

倒序浏览
String str = null 在内存中是没有指向,String str = ""在内存中有指向,是一个空格,空格也是一个字符

评分

参与人数 1技术分 +1 收起 理由
李培根 + 1 赞一个!

查看全部评分

回复 使用道具 举报
String str = null声明一个字符串型的引用变量 并将这个变量的指向设置为空,即str不指向任何地方。内存中只有str一个变量。
而String str = "" 声明一个字符串型的引用变量,并在内存中生成一个空的字符串,然后将str指向这个空的字符串。内存中有str有空字符串。

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
String str = null  声明了一个String类型的变量str,但是它的指向为空,就是没有指向任何实例对象

String str = ""  也是声明了一个String类型的变量str,但它的指向是一个空字符串实例。
回复 使用道具 举报
哦,原来是这样,明白了。
问题已解决
回复 使用道具 举报
学到了~~~
回复 使用道具 举报
{:soso_e103:}so
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马