博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黑马程序员-JAVA基础-StringBuffer 类 和StringBuilder 类
阅读量:5914 次
发布时间:2019-06-19

本文共 2789 字,大约阅读时间需要 9 分钟。

------- android培训java培训、期待与您交流! ----------

  StringBuffer 对象则代表一个字符序列可变的字符串。当一个 StringBuffer 被创建以后,通过StringBuffer 提供的一系列方法可以改变这个字符串对象的字符序列,一旦通过StringBuffer 生成了最终想要的字符串,就可以调用它的toString 方法将其转换成一个String 对象。

  JDK 1.5以后又新增了 StringBuilder 类。StringBuilder 类和 StringBuffer 类基本相似。不同的是,StringBuffer 是线程安全的, 而StringBuilder 则没有实现线程安全功能。所以性能略高。所以在不用考虑线程安全的情况下使用 StringBuilder 类。

 

一.StringBuffer 类:

  常用的方法:

  1、添加:

    StringBuffer append(数据) ; 将指定的数据作为参数添加到已有的数据结尾处。返回的还是原缓冲区对象。

    StringBuffer insert(int index , 数据) ; 可以将数据插入到指定角标index 位置。注意:index不能越界。

   2、删除:

    StringBuffer delete(int start , int end) ;删除缓冲区的数据,包含start,不包含end。

    StringBuffer deleteCharAt(int index) ; 删除指定位置的字符。

   3、获取:

    char charAt(int index) ; 获取指定位置的字符。

    String substring(int start)  返回一个新的 String,它包含此字符序列当前所包含的字符子序列 

    ... ...

    int indexOf(String str) ; 获取子串第一次出现的位置。

    ... ... 

    注意:获取方法和String 类中的方法类似。

   4、修改 :

    StringBuffer replace(int start , int end , String str)

      使用给定String 中字符代替此序列中的子串中的字符。

    void setChatAt(int index , char ch) 将给定索引出的字符设置成ch . 

    StringBuffer reverse() 将次字符序列用其反转形式取代。

1 public class StringBufferDemo  2 { 3     public static void main(String[] args) 4     {   5         System.out.println("-------------------------------"); 6         CreateString(new StringBuffer("hello java")) ;  7         System.out.println("-------------------------------"); 8         DeleteString(new StringBuffer("hello java")) ; 9         System.out.println("-------------------------------");10         ReplaceString(new StringBuffer("hello java")) ;11     }12     public static void CreateString(StringBuffer stringBuffer )13     {14 //        添加数据到stringBuffer 结尾处,15         stringBuffer.append("hello").append("java").append(520).append(true) ; 16         System.out.println(stringBuffer);17 //        在指定位置添加数据。18         stringBuffer.insert(0, "heima,"); 19         System.out.println(stringBuffer);20     }21     public static void DeleteString(StringBuffer stringBuffer)22     { 23 //        删除start至end的字符序列。24         stringBuffer.delete(0,6);25         System.out.println(stringBuffer);26 //        删除指定位置的字符27         stringBuffer.deleteCharAt(1) ;28         System.out.println(stringBuffer); 29     }30     public static void ReplaceString(StringBuffer stringBuffer)31     {32 //        替换指定字符序列。33         stringBuffer.replace(6, stringBuffer.length(), "wrold") ; 34         System.out.println(stringBuffer);35         stringBuffer.setCharAt(5, ',') ;36         System.out.println(stringBuffer);37 //        反转38         stringBuffer.reverse(); 39         System.out.println(stringBuffer); 40     }41 }

 

二.StirngBuilder 类 

  一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。

  

转载地址:http://bbgpx.baihongyu.com/

你可能感兴趣的文章
10年程序员的一些人生感悟
查看>>
矩阵运算
查看>>
iOS_仿QQ表情键盘
查看>>
Struts2环境搭建与测试
查看>>
CGridCtrl显示子控件 及事件
查看>>
【BZOJ】4756: [Usaco2017 Jan]Promotion Counting
查看>>
maven构建SSM项目
查看>>
Page.FindControl(string id) 与母版页结合后发现的一个问题
查看>>
D - 二叉树遍历(推荐)
查看>>
C#匿名函数内存泄漏
查看>>
自定义注解实现aop
查看>>
20160411001 杀掉所有的事件探察器进程
查看>>
eclipse引入tomcat
查看>>
linux下crontab实现定时服务详解
查看>>
css选择器
查看>>
合并k个有序链表
查看>>
Poj3683:Priest John's Busiest Day
查看>>
Ajax技术
查看>>
python基础学习6----字符串操作
查看>>
理解2-3-4树
查看>>