欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java实现简单字符生成器代码例子

程序员文章站 2024-03-05 09:34:30
创建成功的字符串对象,其长度是固定的,内容是不能被修改和编辑。虽然使用"+"可以达到增加新字符或字符串的目的,但"+"会产生一个新的string实例,会在内存中创建新的字符...

创建成功的字符串对象,其长度是固定的,内容是不能被修改和编辑。虽然使用"+"可以达到增加新字符或字符串的目的,但"+"会产生一个新的string实例,会在内存中创建新的字符串对象。如果重复地对字符串进行修改,将极大地增加系统开销。j2se自5.0增加了可变的字符序列string-builder类,大大地提高了频繁增加字符串的效率。下面看个简单的例子。

public class jerque { 
 
  /** 
   * 比较一般情况下的字符串生成器,和string-builder所耗的时间 
   */ 
  public static void main(string[] args) { 
    // todo auto-generated method stub 
    string str = ""; 
    long starttime1 = system.currenttimemillis(); 
    for (int i =0; i<10000; i++) 
    { 
      str = str +i;   
    } 
    long endtime1 = system.currenttimemillis(); 
    long time1 = endtime1 - starttime1; 
    system.out.println("字符串1消耗时间:"+ time1); 
     
    stringbuilder builder = new stringbuilder(""); 
    long starttime2 = system.currenttimemillis(); 
    for (int i=0;i<10000;i++) 
    { 
      builder.append(i); 
    }   
    long endtime2 = system.currenttimemillis(); 
    long time2 = endtime2 - starttime2; 
    system.out.println("字符串2消耗时间:" + time2); 
  } 
} 

字符串1消耗时间:1210 
字符串2消耗时间:3 

总结:

1. 用java自带的字符序列string-builder类,无疑大大提高了效率。 
2. 此类常用的方法如下: 
a. append(content)方法 
b. insert(int offset,arg)方法 
   stringbuilder b = new stringbuilder("hello"); 
   b.insert(5,"world!"); 
   system.out.println(b.tostring()); 
c. delete(int start,int end)方法 
   stringbuilder d = new stringbuilder("stringbuilder"); 
   d.delete(5,10); 
   system.out.println("d.tostring()");