歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java字符生成器簡單例子

創建成功的字符串對象,其長度是固定的,內容是不能被修改和編輯。雖然使用"+"可以達到增加新字符或字符串的目的,但"+"會產生一個新的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()");

Copyright © Linux教程網 All Rights Reserved