0
点赞
收藏
分享

微信扫一扫

String 、StringBuffer 、StringBuilder 之间的区别以及相互转换

kolibreath 2022-03-11 阅读 104


运行速度快慢为:StringBuilder  >  StringBuffer  >  String

String 、StringBuffer 、StringBuilder 之间的区别以及相互转换_java

String最慢的原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量​,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

在线程安全上,​StringBuilder是线程不安全的,而StringBuffer是线程安全的

String:适用于少量的字符串操作的情况

StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况

StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况 

String中的一些操作方法同样适用于 StringBuffer 、StringBuilder。



String 、StringBuffer 、StringBuilder 之间的相互转换

1、String转换成 StringBuffer 、StringBuilder需要借助new进行转换

2、StringBuffer 、StringBuilder转换成 String 需要借助 toString 进行转换

import java.math.*;
import java.util.*;

public class Main {

public static void main(String[] args) {
// TODO Auto-generated method stub

String A = "abcd";

StringBuffer B = new StringBuffer(A); //String 转换成StringBuffer
StringBuilder C = new StringBuilder(A); //String 转换成StringBuilder
StringBuffer D = new StringBuffer(C); //StringBuilder 转换成StringBuffer

String E = B.toString(); //StringBuffer 转换成String。 StringBuilder同样

System.out.println(A);
System.out.println(B);
System.out.println(C);
System.out.println(D);
System.out.println(E);

/*运行结果:
abcd
abcd
abcd
abcd
abcd
*/

}

}


举报

相关推荐

0 条评论