Saturday, February 21, 2009

StringBuilder

一个String对象的长度是固定的,不能改变它的内容,或者附加新的字符至String对象中。虽然可以使用“+”来达到附加的目的,但这种方法会产生新的String实例

自J2SE 5.0 开始提供java.lang.StringBuilder类,使用这个类所产生的对象默认会有16个字符的长度,但也可以自行指定初始长度。如果附加的字符超过可容纳的长度,则StringBuilder对象会自动增加长度以容纳被附加的字符。StringBuilder被设计为与StringBuffer具有相同的操作接口。在单机非多线程(Multithread)的情况下使用StringBuilder会有较好的效率,StringBuffer则会处理同步问题,如果在多线程下操作,则要改用StringBuffer,让对象自行管理同步问题。

如果有频繁作字符串附加的需求,使用StringBuilder会让程序的执行效率大大提高
toString()、length()、capacity()、insert()、deleteChar()、reserve()、

使用String的split()来分隔数据
public class TestSplit {

public static void main(String[] args) {
String[] s={"j\tu\ts\tt\t","d\to\t","i\tt"};
for(String ss:s){
String[] tokens=ss.split("\t");
for(String token:tokens){
System.out.print(token+"\t");
}
System.out.println();
}
}

}

Ps:StringTokenizer——Legacy Class

No comments:

Post a Comment