黑马程序员技术交流社区

标题: null为什么也会被打印出来? [打印本页]

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

Tips:实际上拼接字符串最好使用StringBuffer类,这个以后你会学到,这里就不多说了
作者: 匿名    时间: 2011-8-29 21:14
对String的操作实际上是通过StringBuffer实现的,也就是append方法
该方法会将将null转换为“null”字符串,所以得到的结果是c="null"
作者: 匿名    时间: 2011-8-30 10:31
new varargs() 没有指定对象




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