Java中String和StringBuffer的区别(by faithyacht)
来源:互联网 发布:巴恩斯第七场数据 编辑:程序博客网 时间:2024/05/23 18:31
但事情并不是这么简单,看下面代码
String a = "yacht1" + "yacht2" + "yacht3" + "yacht4";
StringBuffer sb = new StringBuffer(); sb.append("yacht1") ; sb.append("yacht2"); sb.append("yacht3") ; sb.append("yacht4"); String a = sb.toString();
如果按照我先前说的看法,红色的效率肯定比蓝色的低,但经过测试不是这样,为什么?这里,我们需要理解程序过程的两个时期,一个是编译时,一个是运行时,在编译时,编译器会对你的程序做出优化,所以红色的String a会被优化成yacht1yacht2yacht3yacht4,而蓝色的StringBuffer只会在运行时才处理。所以效率是不一样的。
如果代码是这样的:
String a ; for(int i = 0; i< 100000;i++){ a += String.valueOf(i) ;}
StringBuffer sb = new StringBuffer(); for(int i = 0; i< 100000;i++){ sb.append(i) ;} String a = sb.toString();
如果是这种情况的话,红色的效率就大大不如蓝色,区别在哪里,就在于运行时和编译时的优化问题上!
我在想,我们要做一个好的writer,不仅要知道怎么用,还要知道怎么用好,这需要内功的修练,花拳绣腿是招架不住的!
- Java中String和StringBuffer的区别(by faithyacht)
- JAVA中String和StringBuffer的区别
- Java中String和StringBuffer的区别
- Java中String 和StringBuffer的区别?
- java中String和StringBuffer的区别
- java中 string 和 stringBuffer的区别
- Java中String 和StringBuffer的区别
- Java中String和StringBuffer的区别
- java中String和StringBuffer的区别
- Java中String 和StringBuffer的区别
- Java中String和StringBuffer的区别
- Java中String和StringBuffer的区别
- Java中String和StringBuffer的区别
- Java中String和StringBuffer的区别?
- Java中String 和StringBuffer的区别
- java中String和StringBuffer的区别
- java中String 和StringBuffer的区别
- JAVA中String和StringBuffer的区别
- “Multithreaded Job Queue”源码阅读笔记
- How Microsoft Lost the API War (zz)
- Oracle-用户自定义函数_将行集中的一列拼接成一个字符串
- 编译原理-LL(1)预测分析实验 c源代码
- 申请MyJavaServer免费JSP空间
- Java中String和StringBuffer的区别(by faithyacht)
- Boost的成员Generic Image Library图像库
- 这几天比较扯蛋的生活
- 用API使计算机休眠或待机
- 用API关闭或打开显示器
- [转贴]用Google Earth周游世界
- Windows消息一览表
- windows消息大全
- 深圳市中电电力技术有限公司