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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

卷发碎碎念

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

这题做了不下于五遍了System.out.println(""+'a'+1);真是要疯了!!!!!

26 个回复

正序浏览
ZeroHegel 发表于 2015-7-24 22:13
我的理解是String类型是一个引用类型,其实是用字符数组存的。不知道有没有大神解释一下 ...

我看过一篇博客,好像就是这么说的。比如:String s = "abc";他先在栈中创建一个对String类的对象引用变量s,然后去查找"abc"是否被保存在字符串常量池中,如果没有则在栈中创建三个char型的值'a'、'b'、'c',然后在堆中创建一个String对象,它的值是刚才在栈中创建的三个char型值组成的数组{'a'、'b'、'c'},接着这个String对象被存放进字符串常量池,最后将s指向这个对象的地址,如果"abc"已经被保存在字符串常量池中,则在字符串常量池中找到值为"abc"的对象,然后将s指向这个对象的地址。
回复 使用道具 举报
ZeroHegel 发表于 2015-7-24 22:13
我的理解是String类型是一个引用类型,其实是用字符数组存的。不知道有没有大神解释一下 ...

我看过一篇博客,好像就是这么说的。比如:String s = "abc";他先在栈中创建一个对String类的对象引用变量s,然后去查找"abc"是否被保存在字符串常量池中,如果没有则在栈中创建三个char型的值'a'、'b'、'c',然后在堆中创建一个String对象,它的值是刚才在栈中创建的三个char型值组成的数组{'a'、'b'、'c'},接着这个String对象被存放进字符串常量池,最后将s指向这个对象的地址,如果"abc"已经被保存在字符串常量池中,则在字符串常量池中找到值为"abc"的对象,然后将s指向这个对象的地址。
回复 使用道具 举报
ZeroHegel 发表于 2015-7-24 22:13
我的理解是String类型是一个引用类型,其实是用字符数组存的。不知道有没有大神解释一下 ...

我看过一篇博客,好像就是这么说的。
回复 使用道具 举报
输出就知道了~
回复 使用道具 举报
我的理解是String类型是一个引用类型,其实是用字符数组存的。不知道有没有大神解释一下
回复 使用道具 举报
年少轻_Bocv6 发表于 2015-7-23 22:43
最近我碰到了两次了,我算是记住了

嗯嗯,我也要记住,不能再忘了。
回复 使用道具 举报
最近我碰到了两次了,我算是记住了
回复 使用道具 举报
答案是a1,因为前面是个String类型数据+后'a'也会转为字符类型,‘a’后面的+1也会输出
回复 使用道具 举报
加油哈!这个记住就好啦!
回复 使用道具 举报
都快疯啦啊。。。
回复 使用道具 举报
哈哈,第一次考试,这道题果断也错了,不过那次一错就记住了,以后应该不会错了!
回复 使用道具 举报
别放弃。整一个错题本,把不会的一道一道记下来。
回复 使用道具 举报
慢慢来嘛
回复 使用道具 举报
呵呵呵,,,
回复 使用道具 举报
小p 中级黑马 2015-7-23 21:34:00
13#
你想要什么样的输出结果
回复 使用道具 举报
输出的是a1没错。
回复 使用道具 举报
呵呵,表示根本看不懂
回复 使用道具 举报
输出是a1啊。。
回复 使用道具 举报
基础不牢。。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马