1.StringBuilder类
StringBuilder类在JDK1.5中首次引入,用来改善StringBuffer的操作。
StringBuilder类和String类的主要区别在于:
① 利用StringBuilder类创建的对象,可以改变自身字符串的内容。所以被称为“可改性”对象,或“mutable”。
② 利用String创建的对象,或者引用的对象,其自身内容不可改变。所以被称为“不可改性”对象,或“immutable”。
③ 由于需要改变字符串而引起的对内存地址和内容的切换,StringBuilder对象在执行速度上慢于String对象。
④ StringBuilder类中增添了一些String中没有的方法。
2.StringBuffer类
StringBuffer类和StringBuilder类没有本质上的不同,它们有同样的构造函数和方法,其定义和操作也完全相同。
不同点如下:
① StringBuffer中的方法是同步方法(synchronized methods)。同步方法可以用于多线程(multi-threaded)程序的开发中。在一个多线程应用程序中,一个对象可以被多个线程同时(concurrencey)访问。
② StringBuilder中的方法不具有同步特性。但其执行速度比StringBuffer快。
③ StringBuffer在没有应用多线程技术的程序中,往往被StringBuilder所代替。
3.StringTokenizer类
StringTokenizer是专门来对字符串对象进行分解处理的重要API类。
下面看一个实例:
import java.util.StringTokenizer;
public class StringTokenizerTest {
public static void main(String[] args) {
StringTokenizer dataToken = new StringTokenizer("10-15-2007", "-");
while (dataToken.hasMoreTokens()) {
System.out.println(dataToken.nextToken());
System.out.println("Number of tokens left:" + dataToken.countTokens());
}
}
}
运行结果如下:
10
Number of tokens left:2
15
Number of tokens left:1
2007
Number of tokens left:0