Stringクラス、StringBuffer、StringBuilder実行効率テスト

1157 ワード

1から100000までの文字列を生成するのにどれだけの時間がかかるかを計算し、時間を計算する方法はdateクラスのgettime()メソッドで、gettime()で得られた時間はオブジェクト生成時、1970年1月1日0時までのミリ秒数であり、メソッド呼び出し時のミリ秒数ではないことに注意してください.
ソースコードは次のとおりです.
package com.homework;

import java.util.Date;

public class TimeCeshi {
	public static void main(String[] args) {
		String s="";
		//String 
		Date d=new Date();
		long l1=d.getTime();          // , , 
		for(int i=0;i<100000;i++) {
			s+=i;
		}
		Date d1=new Date();
		long l2=d1.getTime();
		System.out.println(l2-l1);
		//Stringbuffer 
		StringBuffer sb=new StringBuffer();
		Date d2=new Date();
		long l3=d2.getTime();
		for(int i=0;i<100000;i++) {
			sb.append(i);
		}
		Date d3=new Date();
		long l4=d3.getTime();
		System.out.println(l4-l3);
		//Stringbuilder 
		StringBuilder sb1=new StringBuilder();
		Date d4=new Date();
		long l5=d4.getTime();
		for(int i=0;i<100000;i++) {
			sb1.append(i);
		}
		Date d5=new Date();
		long l6=d5.getTime();
		System.out.println(l6-l5);
		
	}

}

結果は
26113
4
3
から分かるように、Stringbuilderの速度は最も速いが、スレッドは安全ではなく、Stringbuffer、次いでスレッドは安全である.Stringクラスの速度が最も遅く、使用中はできるだけこのようなことを避けます.