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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2011-8-29 20:15  /  1552 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

黑马网友  发表于 2011-8-29 20:53:30
楼主
null的确是用来表示str变量什么都没引用的
但是这里的“没引用”,指的并不是空字符串,而是没有引用任何对象
这样在你第一次调用str += x的时候,由于str本身没有引用任何对象,所以它必须先自动创建一个字符串对象,并且将字符串的值初始为"null",所以就会产生这样的问题
为了解决这个问题,只需要在定义变量str的时候,定义成String str = "";就可以了

Tips:实际上拼接字符串最好使用StringBuffer类,这个以后你会学到,这里就不多说了

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2 不错!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-8-29 21:14:03
沙发
对String的操作实际上是通过StringBuffer实现的,也就是append方法
该方法会将将null转换为“null”字符串,所以得到的结果是c="null"
回复 使用道具 举报
黑马网友  发表于 2011-8-30 10:31:06
藤椅
new varargs() 没有指定对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马