review19
StringBuffer类
String类创建的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的饿某个字符,即String对象一旦创建,那么实体是不可以再发生变化的。
而StringBuffer类创建可修改的字符串序列,也就是说,该类对象的实体的内存空间可以自动地改变大小。
StringBuffer类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等。
StringBuffer对象调用append方法可以追加字符序列,例如:
public class Test08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb = new StringBuffer("我喜欢");
System.out.println(sb);
sb.append("打篮球");
System.out.println(sb);
}
}
运行结果如下所示:

StringBuffer类有三个构造方法,
StringBuffer()
StringBuffer(int size)
StringBuffer(String s)
第一个无参数的构造方法创建一个StringBuffer对象,分配给该对象的实体的初始容量是16个字符
第二个构造方法创建的对象分配给该实体的容量是size个字符
第三个构造方法创建的对象分配给该实体的容量是s的长度加上16个字符
通过capacity()方法我们可以知道当前实体的实际容量。
append方法
StringBuffer append(String s):将一个字符串对象追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用。
StringBuffer append(int n):将一个int型数据转化为字符串对象再追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用。
StringBuffer append(Object o):将一个Object对象的字符串表示追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用。
public char charAt(int n)得到参数n指定的位置上的单个字符
public void setCharAt(int n, char ch) 将StringBuffer对象n位置上的字符用ch替代
StringBuffer insert(int index, String str) StringBuffer对象使用insert方法将参数str指定的字符串插入到参数index指定的位置。
public StringBuffer reverse() StringBuffer对象使用reverse()方法将对象实体中的字符翻转,并返回当前对象的引用。
StringBuffer delete(int startIndex, int endIndex) 从当前StringBuffer对象实体中的字符串中删除一个子字符串,并返回当前对象的引用。
StringBuffer replace(int startIndex, int endIndex, String str) 将当前StringBuffer对象实体中的字符串的一个子字符串用参数str指定的字符串替换。
从startIndex到endIndex-1的字符串被替换。
上述方法使用情况如下所示:
public class Test09 {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb = new StringBuffer();
sb.append("大家好");
//str.append("大家好");
System.out.println("sb:" + sb);
System.out.println("sb的容量:" + sb.capacity());
StringBuffer sb1 = new StringBuffer("大家好");
System.out.println("sb1:" + sb1);
System.out.println("sb1的容量:" + sb1.capacity());
sb.setCharAt(0, 'w');
sb.setCharAt(1, 'e');
System.out.println(sb);
sb.insert(2, " are all");
System.out.println(sb);
int index = sb.indexOf("好");
sb.replace(index, sb.length(), "right");
System.out.println(sb);
}
}
运行结果如下所示:

review19的更多相关文章
随机推荐
- MongoDB实践-自定义ASP.NET Session Store
Session由来 由于HTTP协议是无状态的,客户端与服务器端进行“请求-响应”操作后,建立的连接就释放了,服务器端根本不知道刚才是哪个客户端访问的.但是有些场景是需要知道客户端的状态的,最典型的就 ...
- <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性
<block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性
- ECMAScript6重复字符串方法repeat()
repeat() 1.定义 repeat()方法返回一个新字符串,新字符串将对象字符串重复指定次数. 2.语法 str.repeat(count) count:表示新构造的字符串把原字符串重复的次数, ...
- 练习: 省市联动(Ajax)
// 示例一: china.xml (位于 src 目录下) <?xml version="1.0" encoding="utf-8"?> < ...
- matlab学习笔记之五种常见的图形绘制功能
分类: 离散数据图形绘制 函数图形绘制 网格图形绘制 曲面图形绘制 特殊图形绘制 本文重点介绍matlab五种图形绘制方法的后三种. 一.网格图形绘制 以绘制函数z=f(x,y)三维网格图为例,下面为 ...
- ABAP权限检查,TCode与权限对象进行关联
一.确认权限对象,和关联字段: Tcode:SU21 维护权限对象例如"M_MSEG_WMB",它关联字段为'WERKS'M_MSEG_WMB 物料凭证:工厂 二.在ABAP代码中 ...
- CSRF(Cross Site Request Forgery, 跨站请求伪造)
一.CSRF 背景与介绍 CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一.其他安全隐患, ...
- C#无边框窗体移动的三种方法
1. 重写WndProc protected override void WndProc(ref Message m) { const int WM_NCHITTEST = 0x84; const i ...
- 【HackerRank】Service Lane
Calvin is driving his favorite vehicle on the 101 freeway. He notices that the check engine light o ...
- 【leetcode刷题笔记】Wildcard Matching
Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...