9. 字符串缓冲区StringBuffer:
1) StringBuffer类的三种构造方法:
StringBuffer();
构造一个没有字符且初始容量为16个字符大小的空字符串缓冲区。
StringBuffer(int length);
构造一个没有字符且初始容量为length的字符串缓冲区。
StringBuffer(String string);
给参数string构造一个字符串缓冲区,起初始容量为string的长度加上16.
2) 修改缓冲区的内容:
strBuf.append(string);
strBuf.append(char);
在end处追加字符或字符串。
strBuf.insert(index,char);
strBuf.inset(index,string);
在index插入字符或字符串。
strBuf.reverse();
将strBuf倒置。
strBuf.replace(startIndex,endIndex,string);
用字符串将指定位置间的字符替换,替换包括起始字符,但不包括末尾字符。
strBuf.setCharAt(index,char);
用字符将指定位置的字符替换。
3) StringBuffer的其它方法
strBuf.toString();
该方法将StringBuffer对象转换为String对象。
strBuf.capacity();
该方法返回字符串缓冲区的现有容量。
strBuf.length();
该方法返回字符串缓冲区的实际存储字符数量。
strBuf.setLength(newLength);
该方法会重设字符串缓冲区的长度,如果newLength小于原长度,
字符串缓冲区将会被截断,如果newLength大于原长度,
则给字符串缓冲区追加空字符使其长度等于newLength。
4) 字符串的令牌类StringTokenizer:
构造方法:
StringTokenizer(string,StringTokenizer,true);
String为用来拆分的字符串,StringTokenizer为界定字符串,界定符只能是字符串的形式,
但却是单个字符,即使是字符串也会把每个字符当作界定符处理。
true表示拆分后StringTokenizer为一个单独的字符串片断显示,默认情况下为false。
其方法有:
StringTokenizer.countTokens();
该方法返回拆分后的片断数。
StringTokenizer.hasMoreTokens();
该方法用来判断对象中是否还有拆分后的片断。
StringTokenizer.nextToken();
该方法返回下一个片断。
StringTokenizer.nextToken(string);
使用新的界定符返回下一个片断。
5) 字符串扫描类Scanner:
StringTokenizer中只能以单个字符作为界定符,而Scanner不仅可以以单个字符作为界定符,
还可以以一个单词作为界定符。
Scanner scanner = new Scanner(string);
Scanner.useDelimiter(StringTokenizer);
此处StringTokenizer为字符串形式,但处理时单个字符按字符处理,字符串按单词处理。