美文网首页
StringBuffer

StringBuffer

作者: menmo_O | 来源:发表于2017-12-21 09:21 被阅读0次

StringBuffer是字符串缓冲区,是一个容器。
特点:
1,而且长度是可变化的
2,可以直接操作多个数据类型。
3,最终会通过toString方法变成字符串

C create U update R read D delete

1.存储。
    StringBuffer append():将制定数据作为参数添加到已有数据结尾处。
        eg:sb.append("abc").append(true).append(26);
    StringBuffer insert(index,数据):可以将数据插入到指定index位置。
        eg:sb.insert(1,"qq");

2.删除。
    StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。
        eg:sb.delete(1,3);
              sb.delete(0,sb.length());//清空缓冲区
    StringBuffer deleteCharAt(index):删除指定位置的字符。
        eg:sb.deleteCharAt(2);
3.获取。
    char charAt(int index):获取一个脚标字符
    int indexOf(String str):获取位置
    int lastIndexOf(String str):
    int length()
    String substring(int start,int end)//访问的还是String,不是StringBuffer

4.修改。
    StringBuffer replace(index start,end,String);
eg:
        StringBuffer sb = new StringBuffer("menmoxml");
        sb.replace(1,4,"java");//修改的起始位置,结束位置,替换成的内容。

    void setCharAt(int index, char ch);
eg:   sb.setCharAt(2,'k');//只替换不返回。
5.反转。
    StringBuffer reverse();

6.将缓冲区中指定数据存储到指定字符数组中。
    void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
    //            从...开始,   从...结束, 存储到 ....,从...角标位置开始存

eg:StringBuffer sb = new StringBuffer("abcdef");
char[] chs = new char[4];
sb.getChars(1,4,chs,1);
for(int x=0; x<chs.length; x++)
{
  sop("chs"+x+"]="+chs[x]);
}

JDK1.5 版本之后出现了StringBuilder.

StringBuffer是线程同步
StringBuilder是线程不同步

以后开发建议使用StringBuilder
java升级围绕三个因素:提高效率,简化书写,提高安全性。

相关文章

网友评论

      本文标题:StringBuffer

      本文链接:https://www.haomeiwen.com/subject/vaeowxtx.html