Java String与StringBuffer、StringBuilder的区别
2015-09-22 09:21
676 查看
1) 都是 final 类, 都不允许被继承;
2) String 长度是不可变的, StringBuffer、StringBuilder 长度是可变的;
3) StringBuffer 是线程安全的, StringBuilder 不是线程安全的。
说明:String是不可变的对象, 因此在每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象,所以需要经常改变字符串的长度最好不要使用String对象,因为每次都会产生一个新的String对象,会对系统性能产生影响。
StringBuilder 是StringBuilder的简易替换,提供跟StringBuffer一样的api方法,但StringBuilder比StringBuffer速度更快,在单线程情况中建议使用StringBuffer,在Android5.0中也新增了StringBuilder,
2) String 长度是不可变的, StringBuffer、StringBuilder 长度是可变的;
3) StringBuffer 是线程安全的, StringBuilder 不是线程安全的。
说明:String是不可变的对象, 因此在每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象,所以需要经常改变字符串的长度最好不要使用String对象,因为每次都会产生一个新的String对象,会对系统性能产生影响。
StringBuilder 是StringBuilder的简易替换,提供跟StringBuffer一样的api方法,但StringBuilder比StringBuffer速度更快,在单线程情况中建议使用StringBuffer,在Android5.0中也新增了StringBuilder,
相关文章推荐
- [UI基础]day01(代码)
- Servlet生命周期方法,request.getRequestDispatcher
- 源码推荐(9.22):利用UIScrollView实现几个页面的切换,纯代码实现水滴和波浪动画
- iOS软件开发 设置UITextView输入内容位置从左上角开始
- iOS开发之UI_UIScrollView(上)
- easyUI之datebox
- IOS巅峰之UICollectionView详解
- Servlet中The requested resource is not available错误
- 【android】uiselectoer 自动化测试
- UIAlertAction 和UIAlertController (UIAlertViewUIActionSheet)
- The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server
- UIButton的竖排图片和文本
- QtQuick学习笔记(三)组件
- UITouch
- 【UIKit-124-2】#import <UIKit/UIView.h>
- 认识基本的UI资源
- POJ 1904 King's Quest(强连通分量+匹配)
- Distinct Subsequences——Leetcode
- Git可视化极简易教程 — Git GUI使用方法
- does not contain bitcode. You must rebuild it with