我们说stringbuffer、string都能作用于字符串,在修改字符串的次数上有所不同,但有时候我们需要借助string的作用处理一些问题,这点是stringbuffer所不能完成的。除了直接使用string外,我们还可以把stringbuffer转换成string来达到同样的效果,下面我们就这两种类的概念进行理解,然后带来stringbuffer转换成string的三种方法。
1.string类的概念说明
(1)String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可以把字符串设为共享的。
(2)StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用StringBuffer类的append方法追加字符 比 String使用 + 操作符添加字符到一个已经存在的字符串后面有效率得多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使用StringBuffer类就避免了这个问题。
2.stringbuffer转换成string
(1)构造方法
(2)toString()方法
(3)subString(0,length)
package com.heima.stringbuffer;
public class Demo06_StringBuffer {
public static void main(String[] args) {
//demo01();
StringBuffer sb = new StringBuffer("heima");
String s1 = new String(sb); //通过构造将StringBuffer转换为String
System.out.println(s1);
String s2 = sb.toString(); //通过toString方法将StringBuffer转换为String
System.out.println(s2);
String s3 = sb.substring(0, sb.length()); //通过截取子字符串将StringBuffer转换为String
System.out.println(s3);
}
private static void demo01() {
StringBuffer sb1 = new StringBuffer("heima"); //通过构造方法将字符串转换为StringBuffer对象
System.out.println(sb1);
StringBuffer sb2 = new StringBuffer();
sb2.append("heima"); //通过append方法将字符串转换为StringBuffer对象
System.out.println(sb2);
}
}以上就是java中stringbuffer转换成string的方法,在我们学会了这两种类的基本使用后,就可以选择以上的方法进行转换,实现更好的对字符串的处理操作。



