服务器之家

服务器之家 > 正文

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

时间:2019-12-21 15:00     来源/作者:junjie

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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()"); 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部