初学字符串生成器并不觉得他有何过人之处。虽然字符串生成器有很多常用方法但是相应的字符串也有相当的方法。于是我编写程序查看他俩在运行时间上的不同
public static void main(String[] args) {
String str = “”;
long starttime = System.currentTimeMillis();
for(int i= 0;i<10000;i++) {
str = str +i;
}
long endtime = System.currentTimeMillis();
long time = starttime-endtime;
System.out.println(“String 消耗时间”+ -time);
StringBuilder str1 = new StringBuilder("");
long starttime1 = System.currentTimeMillis();
for(int i= 0;i<10000;i++) {
str1.append(i);
}
long endtime1 = System.currentTimeMillis();
long time1 = starttime1-endtime1;
System.out.print(“StringBuilder 消耗时间”+ -time1);
}
以上是代码
可见而这运行时间有很大的差异,这在平时运行小程序是看不出来,若是较大的程序一定会影响程序的整体性能。
利用StringBuilder类中的方法可动态地执行添加、删除和插入等字符串的操作。
StringBuilder类的方法如下:
append()方法
该方法用于向字符串生成器添加内容。通过该方法的多个重载形式,可以实现接受任何类型的数据,比如:整形、布尔类型、字符串类型、小数类型、浮点类型或对象等。
语法如下:
Append(content)
其中content表示要添加到字符串生成器中的内容,可以是任何数据类型或对象。
insert(int offset,arg)方法
该方法用于向字符串生成器中的指定位置插入数据内容,通过该方法的多个重载形式,可以实现接受任何类型的数据,比如:整形、布尔类型、字符串类型、小数类型、浮点类型或对象等。
语法如下:
insert(int offset,arg)
其中offset表示字符串生成器中的位置,该参数必须大于等于0,并且小于此序列的长度;arg表示将插入至字符串生成器的位置,该参数可以是任何的数据类型或对象。
delete(int start, int end)方法
移除此序列的子字符串中的字符。该字符串从指定的start出开始,一直到索引end-1处的字符,如果不存在这种字符,则一直到序列尾部,如果start等于end,则不发生任何更改。
语法如下:
delete(int start, int end)
其中start表示将要删除的字符串的开始的位置;end表示将要删除的字符串的结束的位