展开全部
楼上是对的
就创建了一个
String s = "a" + "b" + "c" + "d"";
赋值符号右边的"a"、"b"、"c"、"d"都是常量
对于常量,编译时就直接存储它们的字面值而不是它们的引用
在编译时就直接讲它们连接的结果提取出来变成了"abcd"
该语句在class文件中就相当于String s = "abcd"
然后当JVM执行到这一句的时候, 就在String pool里找
如果没有这个字符串,就会产生一个
但是你如果是变量的话就会每次都创建一个,这种情况下最好用
StringBuilder。
这个的用发网上有很多你可以参考一下
StringBuilder builder = new StringBuilder();
builder.append(a);
builder.append(b);
String s = builder.toString();
就创建了一个
String s = "a" + "b" + "c" + "d"";
赋值符号右边的"a"、"b"、"c"、"d"都是常量
对于常量,编译时就直接存储它们的字面值而不是它们的引用
在编译时就直接讲它们连接的结果提取出来变成了"abcd"
该语句在class文件中就相当于String s = "abcd"
然后当JVM执行到这一句的时候, 就在String pool里找
如果没有这个字符串,就会产生一个
但是你如果是变量的话就会每次都创建一个,这种情况下最好用
StringBuilder。
这个的用发网上有很多你可以参考一下
StringBuilder builder = new StringBuilder();
builder.append(a);
builder.append(b);
String s = builder.toString();
展开全部
str 中将存贮字符串 abcd
解释:+为字符串连接运算符。等号左侧为一表达式,其结果为字符串abcd,赋于变量str
解释:+为字符串连接运算符。等号左侧为一表达式,其结果为字符串abcd,赋于变量str
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先是 a b c d 四个对象
然后 ab abc abcd 3个对象 一共7个String对象
然后 ab abc abcd 3个对象 一共7个String对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
5个对象,“a”,"b","c","d"是4个字符串对象,保存在字符串池中,“abcd”即str是第5个对象,保存在堆中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询