一、StringBuffer类
StringBuffer类用于创建可变(可读/写)的字符串对象,String类创建的字符串对象是不可修改的。
1、构造函数
public void StringBuffer():无参构造,创建一个空的StringBuffer对象,初始内存空间为16个字符,后续自增加内存。
public void StringBuffer(int length):含参构造,创建一个指定大小的对象,后续自增加内存。
public void StringBuffer(String str):含参构造,创建一个(str+16)大小的对象,后续自增加内存。
2、常用方法
public StringBuffer append(对象类型 参数对象名):将不同类型的参数对象转化为字符串,然后追加到StringBuffer字符串对象后。
public StringBuffer insert(int n, 对象类型 参数对象名):在指定位置,将不同类型的参数对象转化为字符串,然后追加到StringBuffer字符串对象后。
public void setCharAt(int index, char ch):在指定位置index处的字符替换为另一个字符ch。
public int length():获取字符的长度。
public StringBuffer replace(int start, int end, String str):替换从start到(end-1)的字符。
public StringBuffer delete(int start, int end):删除从start到(end-1)的字符。
public StringBuffer reverse():字符序列逆序排列。
3、应用举例
public class Demo
{
public static void main(String[] args)
{
double a = 22.22;
StringBuffer MyStr1 = new StringBuffer("你好!"); // 含参构造,初始大小为str+16.
MyStr1.append(a); // 你好!22.22
MyStr1.insert(1, "们"); // 你们好!22.22
MyStr1.setCharAt(4, '3'); // 你们好!32.22
MyStr1.replace(0, 2, "同学们"); // 同学们好!32.22
MyStr1.delete(5, MyStr1.length()); // 同学们好!
}
}
二、StringTokenizer类
用于分析一个字符串并将字符串分解为可被独立使用的单词(含单/多个字母)。
1、构造函数
public void StringTokenizer(String str):为str构造一个分析器,使用默认的分隔符集合,即空格符、换行符、Tab符、进纸符做分隔标识。
public void StringTokenizer(String str, String dilim):为str构造一个分析器,参数dilim中的字符被作为分割符。
2、常用函数
public String nextToken():逐字获取字符串的语言符号,一般在循环中使用。
public boolean hasMoreTokens():判断字符串是否包含语言符号,有返回true,无返回false。
public int countTokens():得到一个字符串中含有的语言符号。
3、应用举例
import java.util.StringTokenizer;
public class Demo
{
public static void main(String[] args)
{
String str = "It is really difficult to master Java,c,cplusplus!";
StringTokenizer fenxi = new StringTokenizer(str, " ,"); // 空格和逗号做分隔符
System.out.println("str共有" + fenxi.countTokens() + "个单词.");
while (fenxi.hasMoreTokens())
{
String s = fenxi.nextToken(); // 取下一个单词
System.out.println(s);
System.out.println("还剩" + fenxi.countTokens() + "个单词.");
}
}
}
输出:
str共有9个单词.
It
还剩8个单词.
is
还剩7个单词.
really
还剩6个单词.
difficult
还剩5个单词.
to
还剩4个单词.
master
还剩3个单词.
Java
还剩2个单词.
c
还剩1个单词.
cplusplus!
还剩0个单词.