“Java StringBuffer类”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
 
第5行: 第5行:
 
==创建StringBuffer对象==
 
==创建StringBuffer对象==
  
 +
<nowiki>
 +
        StringBuffer menu = new StringBuffer("今日菜单:");
 +
</nowiki>
 
==StringBuffer类的常用方法==
 
==StringBuffer类的常用方法==
 +
 
===apppend(String str)===
 
===apppend(String str)===
  <nowiki>order0.append("热干面一碗");</nowiki>
+
  <nowiki>
 +
menu.append(" 老北京炸酱面");
 +
System.out.println(menu);
 +
menu.append(" 台北卤肉面");
 +
System.out.println(menu);
 +
</nowiki>
 
===insert(int offset,String str)===
 
===insert(int offset,String str)===
  <nowiki>System.out.println(order0);
+
  <nowiki>
order0.insert(0,"武汉");</nowiki>
+
menu.insert(5,"商院小面");
 +
System.out.println(menu);
 +
 
 +
</nowiki>
  
 
===replace(start,end,String)===
 
===replace(start,end,String)===
  <nowiki>order0.replace(0, 2, "老济南");
+
  <nowiki>
System.out.println(order0);</nowiki>
+
menu.replace(5, 9, "商苑晓面");
 +
System.out.println(menu);</nowiki>
  
 
===delete(int start,ine end)===
 
===delete(int start,ine end)===
  <nowiki>order0.insert(0,"史上最好吃");
+
  <nowiki>
System.out.println(order0);
+
menu.delete(5,9);
order0.delete(0, 5);
+
System.out.println(menu);
System.out.println(order0);</nowiki>
+
</nowiki>
  
 
===reverse()===
 
===reverse()===
  <nowiki>order0.insert(0,"史上最好吃");
+
  <nowiki>
System.out.println(order0.reverse());
+
System.out.println(menu.reverse());
System.out.println(order0);</nowiki>
+
System.out.println(menu);//reverse操作之后,原字符串改变了吗 ?</nowiki>
 +
 
 +
==代码==
  
 +
<nowiki>     
 +
                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操作之后,原字符串改变了吗 ?</nowiki>
 
===练习:报菜名===
 
===练习:报菜名===
*正报菜名
+
*正报菜名:“今天我请您吃:”
 
*反报菜名
 
*反报菜名

2020年3月9日 (一) 14:45的最新版本

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操作之后,原字符串改变了吗 ?

练习:报菜名

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