Java中的String,StringBuffer,StringBuilder的区别

原创 2015年07月07日 17:37:21

Java为我们提供了三个对字符串操作的类,分别是String,StringBufferStringBuilder

String

其中String在Java中是通过常量池来实现的,String本身是常量池中一个元素的引用,每次String的值在常量池中不存在都将构建新的常量字符串并且产生未被使用的对象。

所以String得值并不适合多次改变否则效率就会变得很低。

StringBuilder和StringBuffer

当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。

和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。

由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java之String、StringBuilder、StringBuffer的区别

String : 字符串常量,它们的值在创建之后不能更改。代表字符串,Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。   String的值是不可变的,这就导致每次对...
  • T_P_F
  • T_P_F
  • 2017-01-12 14:59
  • 126

java中String、StringBuffer、StringBuilder的区别

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。 1.可变与不...

Java:String、StringBuffer和StringBuilder的区别

1 String String:字符串常量,字符串长度不可变。 2 StringBuffer StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修...

Java中String/StringBuffer/StringBuilder区别

1. String //栈中用来存放一些原始数据类型的局部变量数据和对象的引用(String,数组.对象等等)但不存放对象内容堆中存放使用new关键字创建的对象. /...

Java中String、StringBuffer、StringBuilder的区别

1,可变与不可变首先三者的类都是final修饰的,因此不能被继承。 String类中使用字符数组保存字符串,格式为private final char value[],因为有“final”修饰符,所...

java中String、StringBuffer、StringBuilder的区别

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类。String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilde...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)