String,StringBuilder,StringBuffer效率比较
2016-07-09 17:33
441 查看
String,StringBuilder,StringBuffer效率比较
package com.menggang.testjava;public class AppendCharacter {
public static void main(String[] args) {
/**
* String
*/
String appendStr = "";// 创建字符串变量
long startTime = System.nanoTime();// 开始记事
for (int i = 20000; i < 50000; i++) {// 遍历30000个字符
appendStr += (char) i;// 字符串与每个字符执行连接操作
}
long endTime = System.nanoTime();// 结束计时
System.out.println("String追加字符3万个。");
// 输出用时
System.out.println("String用时:" + (endTime - startTime) / 1000000d + "毫秒");
System.out.println("###################################");
/**
* StringBuilder
*/
StringBuilder strBuilder = new StringBuilder();// 创建字符串构建器
startTime = System.nanoTime();// 开始计时
for (int i = 20000; i < 50000; i++) {// 遍历30000个字符
strBuilder.append((char) i);// 把每个字符追加到构建器
}
endTime = System.nanoTime();// 结束记事
System.out.println("字符串构建器追加字符3万个。");
// 输出用时
System.out.println("StringBuilder用时:" + (endTime - startTime) / 1000000d + "毫秒");
System.out.println("############################################");
/**
* StringBuffer
*/
StringBuffer strBuffer = new StringBuffer();// 创建字符串构建器
startTime = System.nanoTime();// 开始计时
for (int i = 20000; i < 50000; i++) {// 遍历30000个字符
strBuffer.append((char) i);// 把每个字符追加到构建器
}
endTime = System.nanoTime();// 结束记事
System.out.println("字符串构建器追加字符3万个。");
// 输出用时
System.out.print("StringBuffer用时:" + (endTime - startTime) / 1000000d + "毫秒");
}
}
输出结果为:
String追加字符3万个。
String用时:387.997356毫秒
###################################
字符串构建器追加字符3万个。
StringBuilder用时:1.427821毫秒
############################################
字符串构建器追加字符3万个。
StringBuffer用时:2.395849毫秒
相关文章推荐
- Build Opus Codec for iOS
- ligerui设置页签项标题setHeader方法的使用
- druid数据库密码加密
- UIView 动画
- Android系统移植与调试之------->build.prop文件详细赏析
- LeetCode - 62. Unique Paths
- FDQuery多表更新生成sql语句的问题
- [Java] LinkedList / Queue - 源代码学习笔记
- easyui datagrid 让某行复选框置灰不能选
- continue break
- hibernate中Query的list和iterator区别
- 分治_递归_quick_sort
- 堆_priority_queue_大顶堆
- EasyUI的下拉框(一)
- codeforces 689D D. Friends and Subsequences(RMQ+二分)
- UITableView api解析
- 开发 - Cannot convert value '0000-00-00 00:00:00' from column 38 to TIMESTAMP.
- IOS-文字色彩UIColor
- UE4中dynamic create component及ChildActorComponent未解析符号 问题
- iOS UIScrollView 滚动到当前展示的视图居中展示