StringBuffer类
StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。
StringBuffer它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
public StringBuffer append(boolean b)
该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接,调用该方法以后,StringBuffer对象的内容也发生改变,此方式比String效率更高,经常应用于数据库SQL语句的连接。
package DEMO2.DAY10_demo13_StringBuffer;
/**
* StringBuffer
*/
public class Demo {
public static void main(String[] args) {
//public StringBuffer append(boolean b)
StringBuffer sb = new StringBuffer();
sb.append("aaa").append(12).append(true);
System.out.println(sb.toString());
}
}
public StringBuffer deleteCharAt(int index)
该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串。
public class Demo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcd");
//public StringBuffer deleteCharAt(int index)
//操作的是原字符串
StringBuffer sb2 = sb.deleteCharAt(0);
System.out.println("sb.deleteCharAt(0) "+sb2);
System.out.println(sb.toString());
}
}
public StringBuffer delete(int start,int end)
该方法的作用是删除指定区间以内的所有字符,包含start,不包含end索引值的区间。
public class Demo {
public static void main(String[] args) {
//public StringBuffer delete(int start,int end)
// start越界报错,end越界不报错
StringBuffer sb = new StringBuffer("abcd");
System.out.println("sb.delete(1,2) "+sb.delete(1,2));
}
}
public StringBuffer insert(int offset, boolean b),
该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串。
public class Demo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcd");
sb.insert(4,"AA");
System.out.println(sb.toString());
}
}
public StringBuffer reverse()
该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串。
public class Demo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcd");
sb.reverse();
System.out.println(sb.toString());
}
}
public void setCharAt(int index, char ch)
该方法的作用是修改对象中索引值为index位置的字符为新的字符ch。
public class Demo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcd");
sb.setCharAt(0,'A');
System.out.println(sb.toString());
}
}
StringBuffer类方法查找练习
删除指定字符串的指定字符
package DEMO2.DAY10_demo13_StringBuffer;
/**删除指定字符串的指定字符
* 如:删掉a
*/
public class Demo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcdaaa");
for (int i = 0; i < sb.length(); i++) {
char c= sb.charAt(i);
if(c == 'a'){
sb.deleteCharAt(i);
i--;
}
}
System.out.println(sb.toString());
}
}