StringBuffer和StringBuilder

来源:互联网 发布:js .index 编辑:程序博客网 时间:2024/05/01 13:12
1.org.apache.commons.lang.StringUtils
  StringUtils类     isNotEmpty将空格也作为参数,isNotBlank则排除空格参数
  
  判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,等于!isBlank(Stringstr)
 public static boolean isNotBlank(Stringstr)


2.StringBuilder与StringBuffer区别
  //没有同步(线程非安全)需求使用StringBuilder 
  执行速度 : StringBuilder > StringBuffer
  线程非安全(StringBuilder)  线程安全(StringBuffer)
  都是字符串变量,是可改变的对象,对字符串做操作时,实际上是对一个对象操作,不像String一样创建一些对象进行操作,所以速度就快了。
  三者使用总结 : 如果操作少量的数据用String
                单线程操作字符串缓冲区下操作大量数据用StringBuilder
                多线程操作字符串缓冲区下操作大量数据用StringBuffer     
  
3.常见对象StringBuffer的功能
  3.1如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,即耗时,又浪费空间,而StringBuffer可以解决.
  3.2线程安全的可变字符序列 
  3.3长度和内容可变,String不可变。使用StringBuffer做拼接不会浪费太多资源

4.StringBuffer类的成员方法
  4.1 添加功能 public StringBuffer  append(String str)可以把任意类型数据添加到字符串缓存区中
              public StringBuffer  insert(int offset,String str)
     StringBuffer sb = new StringBuffer()  创建字符串缓存区对象
  4.2 删除功能 //删除指定位置的字符,并返回本身
              public StringBuffer  deleteCharAt(int index)
             //删除从指定位子开始指定位置结束的内容,并返回本身  ,包左不包右
             public StringBuffer delete(int start , int end)
  4.3 替换功能 
     //从start开始到end用str替换    
      public StringBuffer  replace(int start , int end , String str)
  4.4 反转功能 : public StringBuffer reverse()   
  4.5 截取功能 : 返回值类型是Stirng类型,本身没有发生变化
                public String subString(int start)
                public  String subString(int start , int end);




0 0
原创粉丝点击