stringBuilder的使用

String在每次修改时,会创建一个新的对象。在大量操作时,会占用太多资源。而StringBuilder和StringBuffer不会,这两个只有在toString时才会创建对象。

但是StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。

在对字符串操作频繁的情况下,不建议用 “+” 来对字符串拼接,而是用StringBuilder和StringBuffer

StringBuilder适合单线程使用,StringBuffer适合多线程使用。

StringBuilder包含的函数列表:

// 构造函数。默认的字符数组大小是16。
StringBuilder()    
// 构造函数。指定StringBuilder的字符数组大小是capacity。  
StringBuilder(int capacity)    
// 构造函数。指定字符数组大小=seq长度+15,且将seq的值赋值到当前字符数组中。
StringBuilder(CharSequence seq)    
// 构造函数。指定字符数组大小=str长度+15,且将str的值赋值到当前字符数组中。
StringBuilder(String str)    
   
// 追加“各种对应对象的字符串”在当前的stringbuilder后面,相当于两个String1+String2的效果,但是性能比连个String拼接快得多
StringBuilder     append(float f)    
StringBuilder     append(double d)    
StringBuilder     append(boolean b)    
StringBuilder     append(int i)    
StringBuilder     append(long l)    
StringBuilder     append(char c)    
StringBuilder     append(char[] chars)    
StringBuilder     append(String str)    
StringBuilder     append(Object obj)    
StringBuilder     append(StringBuffer sb)    
StringBuilder     append(CharSequence csq)   
StringBuilder     appendCodePoint(int codePoint)   
// 追加“str“,从offset开始,内容长度是len   
StringBuilder     append(char[] str, int offset, int len)
// 追加“csq“,从start(包括)到end(不包括)    
StringBuilder     append(CharSequence csq, int start, int end)    
  
// 删除“从start(包括)到end的内容” 
StringBuilder     delete(int start, int end)    
// 删除“位置index的内容”  
StringBuilder     deleteCharAt(int index) 

// 用“string”替换StringBuilder中从start(包括)到end(不包括)的内容
StringBuilder     replace(int start, int end, String string)  

// 在StringBuilder的位置offset处插入 “str中从offset开始的内容”,插入内容长度是len
StringBuilder     insert(int offset, char[] str, int strOffset, int strLen)
// 在StringBuilder的位置offset处插入“s中从start到end”的内容
StringBuilder     insert(int offset, CharSequence s, int start, int end)
// 在StringBuilder的位置offset处插入对应对象的字符串
StringBuilder     insert(int offset, boolean b)    
StringBuilder     insert(int offset, int i)    
StringBuilder     insert(int offset, long l)    
StringBuilder     insert(int offset, float f)    
StringBuilder     insert(int offset, double d)    
StringBuilder     insert(int offset, char c)    
StringBuilder     insert(int offset, char[] ch)    
StringBuilder     insert(int offset, String str)    
StringBuilder     insert(int offset, Object obj)    
StringBuilder     insert(int offset, CharSequence s)    

// 反转StringBuilder
StringBuilder     reverse()  

// 从start开始查找,返回“subString”在StringBuilder的位置
int     indexOf(String subString, int start)   
// 返回“string”在StringBuilder的位置    
int     indexOf(String string) 
// 从后向前查找,返回“string”在StringBuilder的位置
int     lastIndexOf(String string)    
// 从start开始,从后向前查找,返回“string”在StringBuilder的位置  
int     lastIndexOf(String subString, int start)  

// 返回StringBuilder的长度
int     length()

// 返回StringBuilder中从start(包括)之后的内容
String     substring(int start)    
// 返回StringBuilder中从start(包括)到end(不包括)之间的内容
String     substring(int start, int end)    
// BUT!!!!!!StringBuilder中的substring是用的String中的方法
// 所以实际上Stringbuilder中的subString在高并发系统里性能会差一些因为他会多分配对象,
// 特别是当你反复使用subString方法的时候一定要记得使用String对象


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值