Java初步语法(7)之字符串生成器

创建成功的字符串对象,其长度是固定的,内容不能被编译,虽然可以使用符号“+”可以达到附加新字符或者字符串的目的,但通过“+”会产生一个新的String实例,会在内存中创建新的字符串对象。如果重复地对字符串进行修改,将极大的增加系统开销。而J2SE 5.0新增了可变的字符序列String-Builder类,大大提高了频繁增加字符串的效率。

实例代码如下,验证字符串操作和字符串操作的效率。:

public class Nmber {

 public static void main(String[] args) {
  String str="";
  long starTime = System.currentTimeMillis();
  for(int i=0;i<1000;i++) 
      str=str+i;
  }
  long endTime=System.currentTimeMillis();
  long time=endTime-starTime;

  System.out.println("运用String输出的时间为"+time);

  StringBuilder builder=new StringBuilder("");

  starTime=System.currentTimeMillis();

  for(int j=0;j<1000;j++) {

      builder.append(j);
  }
  endTime=System.currentTimeMillis();
  time=endTime-starTime;
  System.out.println("StringBuilder消耗的时间"+time);
 }

}

由此代码可以很明显可以看出StringBuilder所花时间比直接String类简短很多。新创建的StringBuilder字符对象初始是16个字符,可以自行制定初始长度。如果附加字符超过了可容纳的长度,则StringBuilder对象将自动增加长度以容纳被附加的字符。若要使用StringBuilder最后输出字符串结果,可使用toString()方法。利用StringBuilder类中的方法可动态的执行添加、删除和插入字符串的编辑操作。

该类的常用方法如下:

(1) append()方法

该方法用于向字符串生成器中追加内容。通过该方法的多个重载模式,可实现接受任何类型的数据,如int、boolean、char、String、double或者另一个字符生成器

语法如下:

append(content)         

其中content表示要追加到字符串生成器中的内容,可以是任何类型的数据或者其他对象。

(2) insert(int offset,arg)

offset:字符串生成器的位置。该参数必须大于等于0;且小于等于此或其他对象。

arg:将插入至字符串生成器的位置。该参数可以是任何数据类型。

(3)delete(int start,int end)方法

移除此序列的子字符串中的字符。该字符串从指定的start开始,一直到索引end-1处的字符,如果不存在这种字符,则一直到序列尾部。如果start等于end,则不发生更改。

语法如下:

delete(int start,int end)

start:将要删除的字符串的起点,

end:将要删除的字符串的终点位置

猜你喜欢

转载自blog.csdn.net/kuu_ga/article/details/107809479