一个String对象的长度是固定的,您不能改变它的内容,或者是附加新的字节至String对象中。 在 J2SE 5.0 提供StringBuilder类,使用这个类所产生的对象默认会有16个字节的长度,您也可以自行指定初始长度,如果附加至对象的字节超出可容纳的长度,则StringBuilder对象会自动增加长度。 在StringBuilder中,length()可传回目前对象中的字节长度,而capacity()可传回该对象目前可容纳的字节容量,下面这个程序是个简单的示范:
public class UseStringBuilder { 执行结果:
StringBuilder拥有几个操作字符串的方法,例如insert()方法可以将字节插入指定的位置,如果该位置以后有字节,则将所有的字节往后移,deleteChar()方法可以删除指定位置的字节,而reserve()方法可以反转字符串,详细的使用可以查询看看 java.lang.StringBuilder 的API说明。 您可能会问 java.lang.StringBuffer 呢?事实上,StringBuilder被设计为与StringBuffer相同的操作接口,但不考虑多线程下同步的问题,所以在单线程下,您可以将以前使用StringBuffer撰写的程序,通通换为StringBuilder而仍可以运作,并可以获得较好的效能;如果您的程序是在多线程下操作,则可以使用StringBuffer,让这个类自行管理同步问题。 |