为了账号安全,请及时绑定邮箱和手机立即绑定

String 与StringBuilder

为什么最后要将StringBuilder转换为Sting ????是因为String有更多的操作方法所以才要转换的么???

正在回答

4 回答

equas()b比较的是内容,==比较的是地址,创建对象就是在内存中开辟新的地址而StringBuilder并没有创建对象

0 回复 有任何疑惑可以回复我~

为什么第三个输出是false还有最最后一个为什么说是讲Stringbuffered转化为String

0 回复 有任何疑惑可以回复我~
public class HelloWorld {
    public static void main(String[] args) {
		// 创建一个空的StringBuilder对象
		StringBuilder str=new StringBuilder();
        
		// 追加字符串
		StringBuilder str2=str.append("jaewkjldfxmopzdm");
		  System.out.println(str);
		  System.out.println(str.toString());
		  System.out.println(str.equals(str.toString()));
		  System.out.println(str==str2);
        // 从后往前每隔三位插入逗号
		for(int i=str.length()-3;i>0;i=i-3){
    	    
        str.insert(i,',');
		}
		
        // 将StringBuilder对象转换为String对象并输出
		System.out.print(str.toString());
       
	}
  }

运行的结果是:

jaewkjldfxmopzdm
jaewkjldfxmopzdm
false
true
j,aew,kjl,dfx,mop,zdm

这就是String和StringBuilder的区别。

1 回复 有任何疑惑可以回复我~

我觉得是编译器中的解释有点问题,toString()方法就是将这个对象编程字符串输入而已 你试试不要toString() 直接输入str也是这个结果,打印直接对象时,默认调用的就是toString()方法. 不存在什么类型转换

0 回复 有任何疑惑可以回复我~
#1

天启之魂

toString()方法就是将这个对象变成字符串输出而已 上面有几个错别字 不好意思 哈哈
2015-09-25 回复 有任何疑惑可以回复我~
#2

qq_寧靜以致遠_0 提问者 回复 天启之魂

就是因为俩个用不用toString()俩个都一样才会有疑问为什么最后要变成String
2015-10-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

String 与StringBuilder

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信