“Java StringBuffer类”的版本间的差异
来自CloudWiki
(创建页面,内容为“==StringBuffer与String类== ==创建StringBuffer对象== ==StringBuffer类的常用方法==”) |
|||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
==StringBuffer与String类== | ==StringBuffer与String类== | ||
+ | 在实际使用中,如果需要经常对一个字符串进行修改、插入、删除等操作,使用StringBuffer类比String类更加适合 | ||
+ | StringBuffer类和String类一样,也用于代表字符串,但StringBuffer的内部实现方式和String类不同。StringBuffer类在进行字符串处理时不生成新的对象,在内存使用上要优于String类,这是因为对于StringBuffer对象的每次修改都会改变对象自身,这是和String类最大的区别。 | ||
==创建StringBuffer对象== | ==创建StringBuffer对象== | ||
+ | <nowiki> | ||
+ | StringBuffer menu = new StringBuffer("今日菜单:"); | ||
+ | </nowiki> | ||
==StringBuffer类的常用方法== | ==StringBuffer类的常用方法== | ||
+ | |||
+ | ===apppend(String str)=== | ||
+ | <nowiki> | ||
+ | menu.append(" 老北京炸酱面"); | ||
+ | System.out.println(menu); | ||
+ | menu.append(" 台北卤肉面"); | ||
+ | System.out.println(menu); | ||
+ | </nowiki> | ||
+ | ===insert(int offset,String str)=== | ||
+ | <nowiki> | ||
+ | menu.insert(5,"商院小面"); | ||
+ | System.out.println(menu); | ||
+ | |||
+ | </nowiki> | ||
+ | |||
+ | ===replace(start,end,String)=== | ||
+ | <nowiki> | ||
+ | menu.replace(5, 9, "商苑晓面"); | ||
+ | System.out.println(menu);</nowiki> | ||
+ | |||
+ | ===delete(int start,ine end)=== | ||
+ | <nowiki> | ||
+ | menu.delete(5,9); | ||
+ | System.out.println(menu); | ||
+ | </nowiki> | ||
+ | |||
+ | ===reverse()=== | ||
+ | <nowiki> | ||
+ | System.out.println(menu.reverse()); | ||
+ | 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操作之后,原字符串改变了吗 ?
练习:报菜名
- 正报菜名:“今天我请您吃:”
- 反报菜名