Java StringBuffer类

来自CloudWiki
跳转至: 导航搜索

StringBuffer与String类

在实际使用中,如果需要经常对一个字符串进行修改、插入、删除等操作,使用StringBuffer类比String类更加适合

StringBuffer类和String类一样,也用于代表字符串,但StringBuffer的内部实现方式和String类不同。StringBuffer类在进行字符串处理时不生成新的对象,在内存使用上要优于String类,这是因为对于StringBuffer对象的每次修改都会改变对象自身,这是和String类最大的区别。

创建StringBuffer对象

	
         	StringBuffer menu = new StringBuffer("今日菜单:");
		

StringBuffer类的常用方法

apppend(String str)

menu.append(" 老北京炸酱面");
System.out.println(menu);
menu.append(" 台北卤肉面");
System.out.println(menu);
		

insert(int offset,String str)

menu.insert(5,"商院小面");
System.out.println(menu);


replace(start,end,String)

menu.replace(5, 9, "商苑晓面");
System.out.println(menu);

delete(int start,ine end)

menu.delete(5,9);
System.out.println(menu);

reverse()

System.out.println(menu.reverse());
System.out.println(menu);//reverse操作之后,原字符串改变了吗 ?

代码

       
                StringBuffer menu = new StringBuffer("今日菜单:");
		menu.append(" 老北京炸酱面");
		System.out.println(menu);
		menu.append(" 台北卤肉面");
		System.out.println(menu);
		menu.insert(5,"商院小面");
		System.out.println(menu);
		menu.replace(5, 9, "商苑晓面");
		System.out.println(menu);
		menu.delete(5,9);
		System.out.println(menu);
		System.out.println(menu.reverse());
		System.out.println(menu);//reverse操作之后,原字符串改变了吗 ?

练习:报菜名

  • 正报菜名:“今天我请您吃:”
  • 反报菜名