关于String Stringbuffer StringBuilder
2015-07-10 19:56
477 查看
相同点:都是用来存储字符串的容器类
不同点:
String是定长的字符串,一旦实例化后大小就不能改变
Stringbuffer是变长字符串,是线程安全的
StringBuilder是变长的字符串,是线程不安全的
String不能对已有的字符串进行添加操作,普通的str+“sfsdf”等,虽然是将后边的字符串拼接到了str 上,但是在内存上是将原先的str指向的内存空间舍弃了,又重新申请了一段空间,获得了新的地址引用,而原先的变成了垃圾。StringBuilder和StringBuffer都提供了append()和insert()方法进行字符串的添加操作,是在原先的地址进行的添加操作
String字符串中的==操作比较的是引用的地址是否相同例:
String str1="asd";
String str2="asd";
显然str1==str2是 false,不只是在String 中在引用类型的变量之间进行比较时,比较的是引用地址,只有在基本数据类型中比较的才是数据本身
不同点:
String是定长的字符串,一旦实例化后大小就不能改变
Stringbuffer是变长字符串,是线程安全的
StringBuilder是变长的字符串,是线程不安全的
String不能对已有的字符串进行添加操作,普通的str+“sfsdf”等,虽然是将后边的字符串拼接到了str 上,但是在内存上是将原先的str指向的内存空间舍弃了,又重新申请了一段空间,获得了新的地址引用,而原先的变成了垃圾。StringBuilder和StringBuffer都提供了append()和insert()方法进行字符串的添加操作,是在原先的地址进行的添加操作
String字符串中的==操作比较的是引用的地址是否相同例:
String str1="asd";
String str2="asd";
显然str1==str2是 false,不只是在String 中在引用类型的变量之间进行比较时,比较的是引用地址,只有在基本数据类型中比较的才是数据本身
相关文章推荐
- mosquitto配置与使用
- java序列化和serialVersionUID
- EASYUI之Layout
- Java中序列化的serialVersionUID作用
- ZOJ 3757 Alice and Bob and Cue Sports
- iOS中UIWindow的用法(一)
- IOS--UI--LessonUIControl UIImageView/ UISegmentedControl
- quick3x_保证下标顺序排列,删除table中的元素
- Builder模式
- UIAlertView和UIActionSheet
- Flash Builder4编译慢报java heap space堆空间异常错误的解决方法
- UI 设计师的好网站
- BlockingQueue及其各个实现的分析整理
- Exynos4412 Android4.4 HDMI Porting Guid 第三篇
- Exynos4412 Android4.4 HDMI Porting Guid 第二篇
- HTC T328W刷机包 仿三星S5 UI美化 精简 S5落下
- UITextView自带的手机、网址识别和触发方法!
- [SoapUI] 比较两个不同环境下的XML Response, 从外部文件读取允许的偏差值,输出结果到Excel
- IOS之UITextField 禁止粘贴
- 解决:QWidget: Cannot create a QWidget when no GUI is being used 程序异常结束