Java中的String,StringBuffer,StringBuilder的区别
2015-07-07 17:37
603 查看
Java为我们提供了三个对字符串操作的类,分别是
所以String得值并不适合多次改变否则效率就会变得很低。
和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。
由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。
String,
StringBuffer和
StringBuilder
String
其中String在Java中是通过常量池来实现的,String本身是常量池中一个元素的引用,每次String的值在常量池中不存在都将构建新的常量字符串并且产生未被使用的对象。所以String得值并不适合多次改变否则效率就会变得很低。
StringBuilder和StringBuffer
当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。
由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。
相关文章推荐
- Solr: Using FunctionQuery in SOLR Sort Syntax
- lc面试准备:Implement Queue using Stacks
- iOS-ui-UISlider
- iOS 本地推送 UILocalNotification
- UIAlertView/警告框
- iOS-ui-normal_ui_control
- iOS-ui-colorPicker
- easyui-validatebox 验证
- UISlider/滑块
- UISwitch/开关
- 黑马程序员---GUI图形化界面
- CMDBuild安装及webservice接口的获取
- LeetCode52:N-Queens II
- poj2593 Max Sequence(两个不相交字段的最大总和与)
- IOS - UIView添加点击事件
- angular+requirejs前端整合
- 《简约之上:交互设计四策略》
- easyui datagrid 列显示和隐藏
- UITableView 重用 UITableViewCell 并异步加载图片时会出现图片错乱的情况的原因
- UITableView 重用 UITableViewCell 并异步加载图片时会出现图片错乱的情况