JAVA String和StringBuffer的转换

String->StringBuffer

1.构造方法

StringBuffer sb=new StringBuffer("abc");

2.append()方法

StringBuffer sb;

sb.append("abc");

 

StringBuffer->String

1.构造方法

StringBuffer sb=new StringBuffer("abc");

String s1=new String(sb);

2.toString()方法

String s2=sb.toString();

3.substring()方法

String s3=sb.substring(0,sb.length());

 

区别

String类是不可变字符序列,StringBuffer类是可变字符序列,所以String类操作会产生垃圾,推荐用StringBuffer。

### Java 中 `String` `StringBuffer` 的转换方法 #### 将 `String` 转换为 `StringBuffer` 可以通过创建一个新的 `StringBuffer` 对象并传入一个 `String` 参数来完成此操作。这将把给定的字符串初始化到新的 `StringBuffer` 实例中。 ```java // 创建一个 String 变量 String str = "这是一个测试"; // 使用构造函数将 String 转换StringBuffer StringBuffer stringBuffer = new StringBuffer(str); ``` 上述代码展示了如何通过传递一个现有的 `String` 给 `StringBuffer` 构造器来进行两者间的转换[^1]。 #### 将 `StringBuffer` 转换回 `String` 当需要从 `StringBuffer` 返回至不可变的 `String` 类型时,可调用 `toString()` 方法: ```java // 声明并初始化一个 StringBuffer 对象 StringBuffer sb = new StringBuffer("这是另一个测试"); // 把 StringBuffer 转化String String resultStr = sb.toString(); ``` 这里说明了怎样利用 `toString()` 函数轻松地将 `StringBuffer` 转变为普通的 `String` 形式[^2]。 另外,在某些情况下也可以直接使用带有 `StringBuffer` 参数的 `String` 构造器: ```java // 同样声明并初始化一个 StringBuffer 对象 StringBuffer anotherSb = new StringBuffer("再次尝试"); // 利用 String 构造器进行转换 String finalResult = new String(anotherSb); ``` 这段例子进一步证实了除了 `toString()` 外还有其他方式能够实现相同目的。 值得注意的是,虽然这两种数据结构都可以用来处理字符序列,但是它们有着不同的特性——特别是关于线程安全性方面的问题。`StringBuffer` 是同步化的(即支持多线程),而 `String` 不具备这样的功能;因此对于那些可能被多个线程访问的应用场景来说,应该优先考虑采用前者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值