就是StringBuffer和StringBuilder比String增加了可更改性质
StringBuffer和StringBuilder的区别就是jdk5.0后增加的Stringbuilder线程不安全,没有synchronized修饰,但是它的效率要高。
String | StringBuffer | StringBuilder |
---|---|---|
不可变的字符序列 | 可变的字符序列 | 可变的字符序列 |
jdk1.0声明的,线程安全有synchronized修饰,效率低 | jdk5.0声明的,线程不安全,效率高 | |
底层使用char[] (jdk8.0之前)后来用byte[ ] | 底层使用char[] (jdk8.0之前)后来用byte[ ] | 底层使用char[] (jdk8.0之前)后来用byte[ ] |
String s1=new String("hello");//char[] value=new char[3]{'h','e','l','l','o'};
String不可变,变动就会创建一个新的字符串
StringBuilder
abstract class AbstractStringBuilder implements Appendable, CharSequence {
/**
* The value is used for character storage.
*/
char[] value;//存储字符序列
/**
* The count is the number of characters used.
*/
int count;//实际存储字符的个数,初始化字符数组长度16,count为0
定义在了父类AbstractStringBuilder之中
比String更加灵活,需要频繁增删改的操作就要使用StringBuffer和StringBiulder
StringBuffer和StringBuilder的常用方法
增:append 、
删:delete(int start, int end) 、deleteCharAt(int index)
改:replace(int start, int end, String str) 、setCharAt 、reverse
查:charAt
插入:insert(在指定索引插入原位置字符向右移动)
长度:length(存储数据的长度)
StringBuilder > StringBuffer >String
推荐阅读:
欢迎使用
windows配置本地 dns,本地给IP地址绑定域名
Error: Application Server not specified
单词后缀与词性思维导图
idea编写jsp没有函数提示的解决办法
idea快捷键
设置kindle推送地址
IDEA配置tomcat的访问根目录路径
tomcat运行报错 严重错误 通常是xml配置文件出错
图解idea不能新建JavaClass和Package解决办法
行动消除疑虑