Java-字符串生成器
介绍StringBuilder之前先介绍一个函数 System.currentTimeMillis();
在JAVA中,它是记录系统当前时间的函数,可以用来测试程序运行时间。
long startTime = System.currentTimeMillis(); //获取开始时间
doSomething(); //测试的代码段
long endTime = System.currentTimeMillis(); //获取结束时间
String创建的字符串其长度是固定的,内容不能改变和编译,虽然可以使用“+”可以达到添加字符的目的,但是它其实是产生一个新的String实例,会在内存中创建新的字符串对象吗如果重复的对字符串进行修改,将大大增加系统开销。
而String-Builder类大大提高了增加字符串的效率
上代码
public class Main
{
public static void main(String[] args) {
String str = "";
long sT=System.currentTimeMillis();
for(int i=0;i<10000;i++) {
str+=i;
}
long eT=System.currentTimeMillis();
System.out.println("String消耗时间为:"+(eT-sT));
StringBuilder builder = new StringBuilder();
sT = System.currentTimeMillis();
for(int i=0;i<10000;i++) {
builder.append(i);
}
eT = System.currentTimeMillis();
System.out.println("StringBuilder消耗时间为:"+(eT-sT));
}
}
String消耗时间为:172
StringBuilder消耗时间为:0
声明:StringBuilder 名称 = new StringBuilder(内容)
下面介绍一下StringBuilder的几个方法
append(object) 向字符串生成器中追加内容,可以接受任何类型的数据
toString() 将字符串生成器转换为字符
insert(int offset, arg) offset为插入位置,arg为内容
delete(int start,int end) 删除的为(start,end]
下面再给个链接,可以了解一下原理