🐒个人主页
🏅JavaSE系列专栏
前言: String与StringBuffer
知识涉及到: Date日期类,SimpleDateFormat日期格式化类,String类,StringBuffer类(即带缓冲的String)的方法
实现代码
import java.text.SimpleDateFormat;
import java.util.*;
public class StringTest {
public static void main(String[] args) {
String str = "a";
int count = 100000;
System.out.println("string拼接" + count + "次需要时间:");
long s = new Date().getTime();//获取开始时间
for (int i = 1; i <= count; i++) {
str += i + "次";
}
long s1 = new Date().getTime();//记录循环终止时间
Date date = new Date(s1 - s);//毫秒差存入date对象
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("循环需要时间:mm:ss(秒):SSS(毫秒)");
//制定格式规范: 循环需要时间:分钟:秒:毫秒
System.out.println(simpleDateFormat.format(date));
StringBuffer ss = new StringBuffer("a");
System.out.println("stringBuffer拼接" + count + "次需要时间:");
s = new Date().getTime();//获取开始时间
for (int i = 1; i <= count; i++) {
ss.append(i+"次");
}
s1 = new Date().getTime();//记录循环终止时间
date = new Date(s1 - s);//毫秒差存入date对象
simpleDateFormat = new SimpleDateFormat("循环需要时间:mm:ss(秒):SSS(毫秒)");
//制定格式规范: 循环需要时间:分钟:秒:毫秒
System.out.println(simpleDateFormat.format(date));
}
}
比较结果(差距悬殊!!!)
获得感悟
如果需要大量字符串拼接,建议使用StringBuffer(或者StringBuilder)来创建对象,可以大大提高代码运行效率!