java-String、StringBuffer、StringBuilder的异同

String和StringBuffer和StringBuilder三者的异同?
String:不可变的字符序列;底层使用char[]数组
StringBuffer:可变的字符序列;线程安全的,效率低,底层使用char[]数组
StringBuilder:可变的字符序列;jdk5.0新增,线程不安全,效率高,底层使用char[]数组
StringBuffer底层创建了长度是16的数组
扩容问题:如果添加的数据超过了底层数组创建的长度,那就需要扩容
默认情况下,扩容为原来容量的2倍+2,同时将原有的数组复制到新数组中
为避免扩容,开发中建议使用带参数的构造器,指定数组长度
*/
/*
StringBuffer和StringBuilder的常用方法
StringBuffer append(xxx):添加字符串,用于进行字符串拼接
StringBuffer delete(int start,int tend):删除指定位置的内容
StringBuffer replace(int start,int end,String str):把[start,end]位置替换为str
StringBuffer insert(int offset,xxx):在指定位置插入xxx
StringBuffer reverse():把当前字符序列逆转
public int indexOf(String str):返回指定字符串的位置
public String sunString(int start,int end):从start开始到end索引位置的返回值
public int length():返回字符串的长度
public char charAt(int n):获取字符串中的某个字符
public void setCharAt(int n,char ch):修改字符串中的某个数组
总结:
增:append(xxx)
删:delete(int start,int end)
改:setCharAt(int n,char ch)/replace(int start,String str)
查:charAt(int n)
插:insert(int offset,xxx)
遍历:for+charAt()

给TA打赏
共{{data.count}}人
人已打赏
知识碎片

jdk8新增时间类

2021-12-2 14:30:45

知识碎片

卢卡奇-美学反映论

2021-12-3 13:53:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧