代码:
package lv9;
public class Test {
public static void main(String args []){
String s1 = new String("abc");
StringBuffer s2 = new StringBuffer("abc");
s2.append(s1);
s1 = s2.toString();
s1.concat("abc");
System.out.println(s1);
}
}
为什么输出结果是abcabc而不是abcabcabc?
java关于String和StringBuffer运用的问题
答案:3 悬赏:60
解决时间 2021-11-15 04:08
- 提问者网友:绿海猖狂
- 2021-11-14 13:05
最佳答案
- 二级知识专家网友:时光不老我们不分离
- 2021-11-14 13:54
String s1 = new String("abc"); 这里百s1=abc
StringBuffer s2 = new StringBuffer("abc"); 这里s2=abc
s2.append(s1); 这里s2=abcabc
s1 = s2.toString(); 这里s1=s2=abcabc
s1.concat("abc"); 这里没给度s1赋值,我刚回答错了内
如果写成这样就是你想要的答案了容s1=s1.concat("abc");
System.out.println(s1);
StringBuffer s2 = new StringBuffer("abc"); 这里s2=abc
s2.append(s1); 这里s2=abcabc
s1 = s2.toString(); 这里s1=s2=abcabc
s1.concat("abc"); 这里没给度s1赋值,我刚回答错了内
如果写成这样就是你想要的答案了容s1=s1.concat("abc");
System.out.println(s1);
全部回答
- 1楼网友:安稳不如野
- 2021-11-14 15:49
java平台提供了两个类:string和stringbuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个string类提供了数值不可改变的字符串。而这个stringbuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用stringbuffer。典型地,你可以使用stringbuffers来动态构造字符数据。
- 2楼网友:孤伤未赏
- 2021-11-14 14:24
因为你只追加拼接了一次abc 加上本身的abc
concat()方法首先获取拼接字符串的长度,判断这个字符串长度是否为0(判断这个用来拼接的字符串是不是空串),如果是就返回原来的字符串(等于没有拼接);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯