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操作之后,原字符串改变了吗 ?
练习:报菜名
- 正报菜名:“今天我请您吃:”
- 反报菜名