StringBuffer类
StringBuffer:String增强版
StringBuffer声明
StringBuffer sb = newStringBuffer();
StringBuffer sb = new StringBuffer("aaa");
StringBuffer的使用:
sb.toString(); //转化为String类型
sb.append("**"); //追加字符串
从控制台接收课程信息,不断累加直到输入“#”键结束,并输出全部课程信息
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
StringBuffer course = new StringBuffer();
System.out.println( " 请输入S1课程信息: " );
Scanner sc = new Scanner(System.in);
// 循环从键盘接收字符串
String input;
while ( ! (input = sc.next()).equals( " # " )){
course.append(input);
course.append( " \n " );
}
System.out.println( " s1的课程信息是: " + course);
使用StringBuffer类中的常用方法
StringBuffer append(boolean b) // 追加
StringBuffer delete(int start, int end) // 删除指定位置的字符
StringBuffer replace(int start, int end, String str) // 替换
StringBuffer reverse() // 反序
String和StringBuffer的区别:
String是一个final类,它是不可以被修改的。然而StringBuffer是可以被修改的。比如说你把这个字符串截取以后,然而原来的字符串不变。
public static void main(String[] args) {
StringBuffer sb = new StringBuffer( " Java " );
// 追加
sb.append( " Guide Ver1/ " );
// 插入
sb.insert( 5 , " Student " );
// 替换
int length = sb.length();
sb.setCharAt(length - 1 , ' . ' );
// 追加
sb.append( " 4 " );
// 删除
sb.delete( 1 , 3 );
// 提取字符串
System.out.println(sb.substring( 4 , 7 )); // tud
// 获取字符位置
System.out.println(sb.indexOf( " i " )); // 13
// System.out.println(sb); // StringBuffer重写了toString方法。
System.out.println(sb.reverse()); // 反序
}
}