java学习之路:8.字符串生成器

时间:2022-07-28
本文章向大家介绍java学习之路:8.字符串生成器,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.先看一段代码

这段代码是照着书上敲的,书上运行结果显示STring 消耗时间:500多,StringBuilder消耗时间:1。

package number;
public class Xuexi {
 public static void main(String[] args) {
    String str="";
    long starTime =System.currentTimeMillis();//定义对字符串执行操作的起始时间
    for(int i=0;i<10000;i++)          //利用循环执行10000次操作
    {
     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);
 }
}

我运行的结果是下面的图。直接变成了0,哈哈。

可以看出,字符串追加器是普通追加的百倍,追加次数越多,这个比例可能更高,所以得出结论,如果在程序种频繁的附加字符串,jia建议使用字符串生成器,再往下看。

2.解释

1.创建字符串生成器 StringBuilder str = new StringBuilder(字符串)

append( content ) 该方法向字符串生成器中追加内容,content表示要追加的内容。

 StringBuilder builder =new StringBuilder("huagou");//创建字符串生成器
 builder.append(hello);  

insert(int offset ,arg) 该方法用于向字符串生成器指定的位置添加字符。 offset:字符串生成器的位置 arg:将插入至字符串生成器的位置

StringBuilder builder =new StringBuilder("huagou");//创建字符串生成器
 builder.insert(5,"word");  

delete(int start,int end) 该方法移除此序列的子字符串中的字符。 start:将要删除的字符串的起点位置 end:将要删除的字符串终点位置

StringBuilder builder =new StringBuilder("huagou");//创建字符串生成器
 builder.delete(5,10);  

若要使用STringBuilder最后输出字符串结果,可使用toString()。

StringBuilder builder =new StringBuilder("huagou");//创建字符串生成器
 builder.delete(5,10);  
System.out.println(builder.toString());