关于StringBuffer和StringBuilder的一点看法
2016-05-01 17:26
441 查看
关于StringBuffer和StringBuilder的一点看法
在Java编程学习中,经常看到一些代码实例中对字符串类型的运用,其中StringBuffer和StringBuilder这两个字符串定义类型让我这个初学者感到很复杂,也有点绕——那到底这两个类型的区别在哪里?
我认为,StringBuffer和StringBuilder都是对字符串类型的扩张,对比普通的String类型,这两个的自动扩张性相对更好,速度也就更快。
但扯到速度这一方面,就不得不提到线程以及线程安全问题了。就线程这一角度,StringBuffer比起StringBuilder的重量级更高,而StringBuilder更像一个轻量级的字符串类型。在一些项目开发中,如果对多线程的访问运行效果要求很高,即需要大量的线程访问和资源提取,StringBuffer会被经常使用。而StringBuilder主要运用于对线程问题要求不大的情况下,即单线程访问。
所以,在初级学习中,我们看到的更多是StringBuilder类型。其实在实际运用中,还是要结合实际情况。
至于具体使用,API写的很清楚,我就不多说什么了。
以上个人看法。
在Java编程学习中,经常看到一些代码实例中对字符串类型的运用,其中StringBuffer和StringBuilder这两个字符串定义类型让我这个初学者感到很复杂,也有点绕——那到底这两个类型的区别在哪里?
我认为,StringBuffer和StringBuilder都是对字符串类型的扩张,对比普通的String类型,这两个的自动扩张性相对更好,速度也就更快。
但扯到速度这一方面,就不得不提到线程以及线程安全问题了。就线程这一角度,StringBuffer比起StringBuilder的重量级更高,而StringBuilder更像一个轻量级的字符串类型。在一些项目开发中,如果对多线程的访问运行效果要求很高,即需要大量的线程访问和资源提取,StringBuffer会被经常使用。而StringBuilder主要运用于对线程问题要求不大的情况下,即单线程访问。
所以,在初级学习中,我们看到的更多是StringBuilder类型。其实在实际运用中,还是要结合实际情况。
至于具体使用,API写的很清楚,我就不多说什么了。
以上个人看法。
相关文章推荐
- Codeforces 667C Reberland Linguistics【DFS】
- Codeforces 667C Reberland Linguistics【DFS】
- Codeforces 667C Reberland Linguistics【DFS】
- ERROR! The server quit without updating PID file (/var/lib/mysql/service.pid).
- leetcode 063 Unique Paths II
- leetcode 062 Unique Paths
- Codeforces 667C Reberland Linguistics (DP)
- Java源码分析--StringBuffer/StringBuilder
- 让requirejs不自动添加.js后缀
- Encapsulation and Requiring Files
- Encapsulation and Requiring Files
- 96. Unique Binary Search Trees
- SNMP++ 01-SNMP request time out问题的解决
- 300. Longest Increasing Subsequence
- 2016 UESTC Training for Data Structures R - Japan CDOJ 383 树状数组 逆序对
- 2016 UESTC Training for Data Structures Q - 昊昊爱运动 II CDOJ 1259 线段树+bitset
- 2016 UESTC Training for Data Structures P - 浑身难受 CDOJ 1276 树状数组
- 2016 UESTC Training for Data Structures O - 卿学姐种美丽的花 CDOJ 1344 线段树/树状数组
- 2016 UESTC Training for Data Structures N - 秋实大哥搞算数 CDOJ 1074 栈 表达式求值
- 2016 UESTC Training for Data Structures M - 卿学姐失恋了Ⅱ CDOJ 1350 汉诺塔 模拟