java中,String s = "a" + "b" + "c" + "d" + "e"; 问此语句共创建了几个对象

 我来答
第8感超人
推荐于2016-01-17 · TA获得超过659个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:330万
展开全部
一共9个对象 java中String 每个引号都是一个对象 这就是5个了
"a"+"b"=ab一个
"ab"+"c"=abc
"abc"+"d"=abcd
"abcd"+"e"=abcde
这又是4个

一共有9个

虽然s只是指向最后一个 但是实际上产生了9个对象
通欢Ep
2009-07-14 · TA获得超过424个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:279万
展开全部
就创建了一个
String s = "a" + "b" + "c" + "d" + "e";
赋值符号右边的"a"、"b"、"c"、"d"、"e"都是常量
对于常量,编译时就直接存储它们的字面值而不是它们的引用
在编译时就直接讲它们连接的结果提取出来变成了"abcde"
该语句在class文件中就相当于String s = "abcde"
然后当JVM执行到这一句的时候, 就在String pool里找
如果没有这个字符串,就会产生一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freish
2009-07-13 · TA获得超过2878个赞
知道大有可为答主
回答量:3153
采纳率:0%
帮助的人:2696万
展开全部
应该是一个对象,"a" ,"b" , "c" , "d" , "e"虽然都是对象,但是是常量,常量就意味着很可能在编译时期编译器已经把他们相加起来了,在运行时就做了一个String s = "abcde"的操作,也就说运行时期是没有"a" ,"b" , "c" , "d" , "e"的!

就像int a = 3+2;
这样的句子还会留到运行期去做么!如果真是这样,只能说这个编译器太垃圾了。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深圳市百德轩金业
2009-07-13 · TA获得超过525个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:169万
展开全部
10个 ,2楼前面说的都对 ,但他忘了 S 也是个对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迷茫的青春39
2018-05-10
知道答主
回答量:1
采纳率:0%
帮助的人:872
引用第8感超人的回答:
一共9个对象 java中String 每个引号都是一个对象 这就是5个了
"a"+"b"=ab一个
"ab"+"c"=abc
"abc"+"d"=abcd
"abcd"+"e"=abcde
这又是4个

一共有9个

虽然s只是指向最后一个 但是实际上产生了9个对象
展开全部
实际上就1个,上面的“a”“b”...都是字面量意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 6条折叠回答
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式