StringBuffer类
StringBuffer类和 String类一样,也用来代表字符串,只是由于 StringBuffer的内部实现方式和 String不同, StringBuffer在进行字符串处理时,不生成新的对象,所以在内存使用上, StringBuffer类要优于 String类。
StringBuffer类中存在很多和 String类一样的方法,这些方法在功能上是完全一样的。StringBuffer类中也有一些独特的方法,用于帮助我们更方便的实现某些功能。
StringBuffer和 String属于不同的类型,也不能直接进行强制类型转换,下面的代码都是错误的:
StringBuffer s = "abc"; //赋值类型不匹配
StringBuffer s = (StringBuffer)"abc"; //不存在继承关系,无法进行强转
正确的对象之间互转代码如下:
String string1 = "Hello World!";
StringBuffer stringBuffer = new StringBuffer(string1); //String转换为StringBuffer
String string2 = stringBuffer.toString(); //StringBuffer转换为String
StringBuffer的赋值可以用构造方法
StringBuffer SB = new StringBuffer("sdad");
也可以用StringBuffer中的append方法
StringBuffer SB = new StringBuffer();//这样初始化出的 StringBuffer对象是一个空的对象
SB.append("sdad");//用append在对象末尾添加字符串
split方法(属于‘string的方法)
在处理字符串的时候我们经常需要将他们切割,然后分别处理,比如我们有一个字符串: 张三,李四,王五,赵六,现在我们想要将他们的名字拆分出来,变成一个单独的字符串,如何做呢?很简单使用 split方法即可
String str = "张三,李四,王五,赵六";
String[] names = str.split(",");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
append和reverse(属于stringbuffer方法)
append()方法的作用是追加内容到当前 StringBuffer对象的末尾,类似于字符串的连接
reverse()方法将把当前字符序列反转后返回
StringBuffer stringBuffer = new StringBuffer("Hello");
stringBuffer.append("World!");
System.out.println(stringBuffer);//结果为HelloWorld!
-----------------------------------------------------
StringBuffer stringBuffer = new StringBuffer("abc");
System.out.println(stringBuffer.reverse());//结果为cba