Java String、StringBuffer和StringBuilder
2016-07-30 11:47
459 查看
1. String
String类代表字符串。Java 程序中的所有字符串字面值(如
"abc")都作为此类的实例来实现。字符串是常量;它们的值在创建之后不能改变。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享它们。
String类包括的方法有:检查序列的单个字符;比较字符串;搜索字符串;提取子字符串;创建字符串副本,在该副本中,所有的字符都被转换为大写或小写形式。
Java 语言提供对字符串串联符号("+")和其他对象到字符串的转换的特殊支持。字符串串联是通过
StringBuilder(或
StringBuffer)类及其
append方法实现的。字符串转换是通过
toString方法实现的。
String表示一个 UTF-16 格式的字符串。
2. StringBuffer
线程安全的可变字符序列,通过某些方法调用可以改变该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。
3. StringBuilder
一个可变的字符序列。此类提供一个与StringBuffer兼容的 API,但不保证同步(非线程安全)。该类被设计用作
StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比
StringBuffer要快。
相关文章推荐
- 如何在Build History里面显示二维码链接
- 以UEFI模式安装Ghost Win8方法
- juery datatable属性描述以及用法
- hdoj5288OO’s Sequence
- iOS8 UIAlertView 和 UIActionSheet 的新用法 UIAlertController详解
- Query简单的一个小动画
- iOS开发UI基础—手写控件,frame,center和bounds属性
- iOS开发UI篇—Button基础
- Vuejs入门篇
- [转载]Windows部署Caffe-Backup Best Guidence
- Bringing up interface eth0: Error: No suitable device found: no device found for connection 'System
- UIAlertController之ActionSheet的使用
- IOS Dev Intro - UIView and CALayer
- IOS Dev Intro - UIView and CALayer
- IOS Dev Intro - UIView and CALayer
- IOS Dev Intro - UIView and CALayer
- The NaN values
- Print all Jumping Numbers smaller than or equal to a given value
- Sequence Modeling:Recurrent and Recursive Nets
- HDOJ1242Rescue(BFS+优先队列)