请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于 StringBuilder 和 StringBuffer 的区别 & 转换

StringBuilderStringBuffer 都是可变的字符串,而且相对与 String 能够更加高效地操作字符串。

想请问下:
- StringBufferStringBuilder 究竟有什么不同呢 ( 兼容性, 线程,安全性等方面 )?如何使用更加地合适?
- StringBufferStringBuilder 怎么 和 String 相互转换?

正在回答

1回答

StringBuffer是线程安全的,所有方法都加锁同步,所以性能较低;StringBuilder非线程安全,但性能高。所以在实际应用中,少量操作字符串且对线程安全无要求时,考虑使用String类;在多线程应用考虑使用StringBuffer类;单线程中有高效率要求时,考虑使用StringBuilder类。


String转换成StringBuffer/StringBuilder:通过构造方法和append方法;

StringBuffer/StringBuilder转换成String:通过构造方法和toString方法。

String转换成StringBuilder:

// 创建String对象
String str = "hello";
System.out.println(str); 

// 方式1:构造方法
StringBuilder builder1 = new StringBuilder(str);

// 方式2:通过append方法
StringBuilder builder2 = new StringBuilder();
builder2.append(str);

StringBuffer转换成String

// 创建StringBuffer对象
StringBuffer buffer1 = new StringBuffer(str);

// 方式1:通过构造方法
String str2 = new String(buffer1);

// 方式2:通过toString方法
String str3 = buffer1.toString();


0 回复 有任何疑惑可以回复我~
  • 提问者 张三zzzzzz #1
    好的,谢谢老师。
    我去补充一下笔记
    回复 有任何疑惑可以回复我~ 2023-08-01 12:27:29
  • 提问者 张三zzzzzz #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2023-08-01 13:53:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信