今天晚上学习了String和StringBuffer这两个字符串类。这两个对象的主要区别在于String对象其存储的字符串的内存是不可改变的。而Stringbuffer对象可随时改变其存储的区域的长度。
下面总结StringBuffer:
1、构造函数:StringBuffer()、StringBuffer(int capacity)、StringBuffer(String str)、StringBuffer(CharSequence seq)。第二个capacity表示可以容纳的字符数。
2、append(String str)方法将str添加到已存在字符串的尾部。其参数还可以是boolean、char等其他类型(几乎所有都可以)。
3、capacity() 返回可以容纳字符的容量。
4、charAt(int index)返回在index处的字符。
5、length() 返回存储的字符串数
6、ensureCapacity(int minimumCapacity) 设置容量至少为minimumCapacity
7、setLength(int newLength) 设置保存的字符串的长度,可以截断字符串(newLength小于保存字符串的的长度)。
8、insert(int offset,String str) 从offset处开始插入str。
9、insert(int index, char[] str, int offset, int len) 从index处插入str从offset开始,len长度的字符串。
10、setCharAt(int index, char ch)在index处改变字符为ch。(注意index与实际位置差一。数组一样。)
11、reverse()将字符翻转。
12、delete(int start, int end)从start开始到end被删除。
13、replace(int start, int end, String str)从start开始到end被str所替代。
14、indexOf(String str)查找字符或者子串str第一次出现的地方。
15、lastIndexOf(String str)查找字符或者子串str是后一次出现的地方。
总结String:
1、构造函数:String(byte[] bytes) 、String(char[] value)、String(String original)
2、compareTo(String anotherString) 从第一个字符开始依次比较两个字符串ASC码。如果两个字符的ASC码相等则继续后续比较,否则直接返回两个ASC的差值。如果两个字符串完全一样,则返回0。
3、compareToIgnoreCase(String str) 同上,只是忽略大小写
4、concat(String str) 在字符串尾部加上str
5、getBytes(Charset charset)
使用给定的 charset 将此 String
编码到 byte 序列,并将结果存储到新的 byte 数组。
6、indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
7、isEmpty()
当且仅当 length()
为 0 时返回 true。
8、trim()
返回字符串的副本,忽略前导空白和尾部空白
9、toUpperCase()
使用默认语言环境的规则将此 String
中的所有字符都转换为大写。