Java之String,StringBuffer,StringBuilder比较
2017-03-18 10:59
381 查看
一,String
特点:字符串是常量,它们的值在创建之后不能修改。字符串的内容一旦发生改变,马上就创建了一个新的对象。注意:字符串的内容不适宜频繁修改,因为一旦修改马上就创建了一个新的对象。若要频繁修改字符串中的内容,就应该使用Stringbuffer或者StringBuilder(这两者区别在后面讲)。
String str = "abc";
String str2 = str + "def";
System.out.println("str和str2是同一个对象吗?" + (str == str2));创建一个字符串“abc”,然后这个字符串加上“def”并且得到第二个字符串,比较这两个字符串可以发现它们是不同的对象。
str和str2是同一个对象吗?false
二,StringBuffer
特点:字符串缓冲类(StringBuffer),是线程安全的可变的可变字符序列,,线程同步。StringBuffer底层是依赖一个字符数组来存储数据的,该字符数组默认的初始容量是16,当不够使用时,容量增加一倍(一倍+2)。StringBuffer可以方便的对字符串进行增删改查操作并且不用创建新的对象。三,StringBuilder
StringBuilder也是字符串缓冲类,StringBuilder的功能其实和StringBuffer是一样的,它相比StringBuffer最主要的区别就是它是线程不安全的,它不同步。四,StringBuffer与StringBuilder的比较
相同:1,两个类都是字符串缓冲类。2,两个类的方法都是一致的。
不同:1,StringBuffer是线程安全的,操作效率低;StringBuilder是非线程安全的,操作效率高。
2,StringBuffer是JDK1.0出现的,StringBuilder是JDK1.5出现的。
开发中推荐使用StringBuilder,因为开发效率高。在实际开发中,几乎不会遇见多线程操作一个字符串,并且,StringBuilder就是设计出来代替StringBuffer的。
相关文章推荐
- Java中字符串对象String、StringBuffer、StringBuilder的比较
- Java学习札记14:一个比较String、StringBuffer和StringBuilder之间效率差别的简单例子
- 【Java基础】Java常见几组概念的比较(String、StringBuilder、StringBuffer、HashMap、HashTable
- Java的String与StringBuffer、StringBuilder的性能比较
- Java String、StringBuffer、StringBuilder比较
- java语言基础入门——String、StringBuffer、StringBuilder的比较
- Java String StringBuffer StringBuilder比较
- Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较
- java基础巩固系列(十):String、StringBuffer、StringBuilder的使用与比较
- java中String、StringBuilder和StringBuffer效率的比较
- 【Java】StringBuilder、StringBuffer、String 比较
- 探索JAVA之String、StringBuffer、StringBuilder的比较
- 朝花夕拾:Java中String,StringBuffer,StringBuilder使用方法以及异同比较
- 你不知道的Java学习笔记12--String、StringBuffer、StringBuilder比较
- Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较
- JAVA回顾巩固之String、StringBuilder、StringBuffer结合源码比较
- JAVA StringBuilder StringBuffer String比较
- java中String、StringBuffer、StringBuilder区别与比较
- Java的String与StringBuffer、StringBuilder的性能比较
- 朝花夕拾:Java中String,StringBuffer,StringBuilder使用方法以及异同比较