程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java之StringBuffer類詳解

java之StringBuffer類詳解

編輯:關於JAVA

java之StringBuffer類詳解。本站提示廣大學習愛好者:(java之StringBuffer類詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是java之StringBuffer類詳解正文


StringBuffer

線程平安的可變字符序列。


StringBuffer源碼剖析(JDK1.6):

public final class StringBuffer extends AbstractStringBuilder  implements java.io.Serializable, CharSequence

StringBuffer類被final修飾,可知StringBuffer類不能被承繼。

StringBuffer中的大局部辦法都有synchronized修飾。有些雖然沒有synchronized修飾,但是經過調用完成同步。因而StringBuffer是線程平安的。

StringBuffer中的大局部辦法都是直接調用的AbstractStringBuilder類中的辦法。AbstractStringBuilder類詳見java之AbstractStringBuilder類詳解。


結構器

1、結構一個沒有字符的字符串緩沖區,默許初始容量為16。

    public StringBuffer() {
        super(16);
    }

2、結構一個沒有字符的字符串緩沖區,並指定初始容量。

    public StringBuffer(int capacity) {
        super(capacity);
    }

3、結構一個字符串緩沖區,並初始化為指定的字符串。初始容量為16加上字符串參數的長度。

    public StringBuffer(String str) {
        super(str.length() + 16);
        append(str);
    }

4、與上個結構器相似。

    public StringBuffer(CharSequence seq) {
        this(seq.length() + 16);
        append(seq);
    }

 測試:

    public static void main(String[] args) {
        // 運用無參結構器
        StringBuffer s1 = new StringBuffer();
        System.out.println(s1.length());// 0
        System.out.println(s1.capacity());// 16
        // 指定容量
        StringBuffer s2 = new StringBuffer(10);
        System.out.println(s2.capacity());// 10
        // 初始化為指定的字符串
        StringBuffer s3 = new StringBuffer("abc");
        System.out.println(s3.capacity());// 19
        System.out.println(s3);// abc
    }

更多內容詳見:

java之AbstractStringBuilder類詳解

java之StringBuilder類詳解

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved