String StringBuffer StringBuilder的区别
来源:互联网 发布:越南看中国综艺 知乎 编辑:程序博客网 时间:2024/06/10 07:04
不需要过场,就开门见山吧。
String
String是不可变的(immutable),一旦String对象被创建,它的值就不会改变。
直接上代码
public class main {/** * @param args */public static void main(String[] args) {String a = "hello";//对象a初始化String b = a;//将a赋值给bSystem.out.println("a = " + a);System.out.println("b = " + b);a = "world";//改变a的值System.out.println("a = " + a);System.out.println("b = " + b);}}
输出:
a = hellob = helloa = worldb = hello可见给对象a的赋值,是重新new出来一个对象。不可变的字符串具有一个优势就是编译器可以把这些字符串设为共享的。缺点是在需要频繁进行String "+" 操作时,会new出很多String对象,这会影响性能。这时候就需要使用StringBuffer。
StringBuffer
StringBuffer是可变的。上代码,上真相。public class main {/** * @param args */public static void main(String[] args) {StringBuffer buffer1 = new StringBuffer();buffer1.append("hello");StringBuffer buffer2 = buffer1;System.out.println("buffer1 = " + buffer1);System.out.println("buffer2 = " + buffer2);buffer1.append("world");System.out.println("buffer1 = " + buffer1);System.out.println("buffer2 = " + buffer2);}}
输出:
buffer1 = hellobuffer2 = hellobuffer1 = helloworldbuffer2 = helloworld
StringBuilder
StringBuilder不是线程安全的,而StringBuffer是线程安全的,所以在多线程中需要使用StringBuffer,而单线程中使用StringBuilder更好,它不需要考虑同步问题。StringBuilder是从1.5开始支持的这里,而StringBuffer这里和String这里是从1.0就开始支持了。
- String,StringBuffer,StringBuilder的区别
- String StringBuffer StringBuilder的区别
- String, StringBuffer, StringBuilder的区别?
- String,StringBuffer, StringBuilder 的区别
- String,StringBuffer,StringBuilder的区别
- String , StringBuffer, StringBuilder的区别
- String 、 StringBuffer 、StringBuilder 的区别
- String StringBuffer StringBuilder的区别
- String、StringBuffer、StringBuilder的区别
- String, StringBuffer, StringBuilder的区别
- String StringBuffer StringBuilder的区别
- string、stringbuffer、stringbuilder的区别
- String、StringBuffer 、StringBuilder 的区别
- String,StringBuffer,StringBuilder的区别
- String ,StringBuffer,StringBuilder的区别
- String,StringBuffer,StringBuilder的区别
- String StringBuffer StringBuilder的区别
- String,StringBuffer,StringBuilder的区别?
- We're on time
- Linux下Nginx+Tomcat整合的安装与配置
- 搜狗输入法6.8流氓插件addresssearch.dll和SGImeGuard.exe的禁止删除方法
- Web Services--gSOAP 2.7.6 第七章(7.1.1)
- asp.net获取网站绝对路径!
- String StringBuffer StringBuilder的区别
- 《大型网站技术架构》学习笔记——架构演化
- android应用开发之——蜂鸣提示音和震动提示的实现
- STL编程轻松入门(lwbeyond:http://blog.csdn.net/lwbeyond/article/details/5940743)
- Asp.net读取和写入txt文件方法(实例)!
- 数据挖掘,数据分析好书
- 上篇 下篇 Cloud not reserve enough space for object heap
- 2748: [HAOI2012]音量调节
- oracle 各种软件用途