StringBuffer的append拼接和String的+连接效率对比
来源:互联网 发布:mac电源以连接,未充电 编辑:程序博客网 时间:2024/04/30 01:44
字符串拼接尽量使用 StringBuffer 的append方法来拼接。而直接使用”+”来连接String类型。会增加内存和CPU的开销。String字符串拼接的原理如下 String str1 = “a”; String str2 = “b”; str1 = str1 + str2; 内存上,他先会开辟出一个新的内存空间,存放str3 = str1+str2,然后再把str3的引用交给str1.如果使用StringBuffer呢?则是在str1后面“接”上的,完成过程只后str1,str2俩个对象。 CPU上,想必写个循环1000次的拼接程序,大家就会明显的看出来吧。下面代码,运行看看吧。
//1秒=1000毫秒
public class Test {
public static void main(String[] args) {
String str = "";
StringBuffer sb = new StringBuffer();
long start = 0L;
long end = 0L;
start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
str = str + "a";
}
end = System.currentTimeMillis();
System.out.println("使用string的时间是:" + (end - start) + "毫秒!");
start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
sb.append("a");
}
end = System.currentTimeMillis();
System.out.println("使用StringBuffer的时间是:" + (end - start) + "毫秒!");
}
}
//1秒=1000毫秒
public class Test {
public static void main(String[] args) {
String str = "";
StringBuffer sb = new StringBuffer();
long start = 0L;
long end = 0L;
start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
str = str + "a";
}
end = System.currentTimeMillis();
System.out.println("使用string的时间是:" + (end - start) + "毫秒!");
start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
sb.append("a");
}
end = System.currentTimeMillis();
System.out.println("使用StringBuffer的时间是:" + (end - start) + "毫秒!");
}
}
2 0
- StringBuffer的append拼接和String的+连接效率对比
- StringBuffer的append拼接和String的+连接效率对比
- String,StringBuffer,StringBuilder拼接操作的效率对比
- 拼接字符串的效率问题(String,StringBuffer,StringBuilder对比)
- stringbuilder 的append方法 和String的+的效率对比
- java的String字符串拼接和StringBuffer的append的速度差异
- StringBuffer类和String类的效率对比
- String和StringBuffer的效率
- java中字符串连接+=和concat函数以及stringbuffer的append的效率问题
- [Java]String和StringBuffer连接字串的效率比较
- String的+连接操作和StringBuffer的append连接操作差别
- Java中对于+和append拼接字符串效率的误解
- String+String和StringBuilder.append(String)的效率和区别
- String, StringBuffer, StringBuilder拼接字符串的执行效率比较
- sql拼接,String和Stringbuffer的问题
- StringBuffer的"append" 和 String的"+"用来连接字符串哪个好些?
- java中String,StringBuffer,StringBuilder拼接效率对比
- java中String,StringBuffer,StringBuilder拼接效率对比
- orapwd的学习
- 分布式搜索Elasticsearch——创建客户端(六)
- pycharm是一个很棒的python语言ide
- socket的内核和上层通信机制(netlink) -- linux内核
- 插入排序算法浅析与JAVA实现
- StringBuffer的append拼接和String的+连接效率对比
- 统计每年不同的情况(正在下拨,已经下拨)
- Yii中的二级分类
- ThreadLocal终极突破
- Pro Android学习笔记(一二八):Media Frameworks(3):用SoundPool的音频播放
- 发病率十万分之一,检测准确率99%,结果呈阳性,真的病了吗?
- hdu2098分拆素数和
- 【LeetCode】-Pascal's Triangle
- IOS开发网络篇之──ASIHTTPRequest详解