2022.11.28
StringBuilderクラス
バッファ容量を取得
StringBuilderオブジェクトが確保しているバッファ容量を取得するメソッドが用意されています。
バッファ容量は、文字を格納するために確保されているメモリのサイズです。文字の長さは違います。
StringBuilder.captureメソッド
int capture()
・現在の容量を返します。 パラメータ なし
Javaソースコード
StringBuilderオブジェクトを作成した直後に格納されているバッファ容量をコンソール出力するソースコードです。
StringBuilder02.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018
public class StringBuilder02 { public static void main(String[] args) { // インスタンスを作成 StringBuilder sb1 = new StringBuilder(); // オブジェクトのバッファ容量 System.out.println( "バッファ容量:" + sb1.capacity() ); // インスタンスを作成 StringBuilder sb2 = new StringBuilder( "12345" ); // オブジェクトのバッファ容量 System.out.println( "バッファ容量:" + sb2.capacity() ); // インスタンスを作成 StringBuilder sb3 = new StringBuilder( "1234567890" ); // オブジェクトのバッファ容量 System.out.println( "バッファ容量:" + sb3.capacity() ); } }
実行結果
実行
java StringBuilder02
出力結果
バッファ容量:16 バッファ容量:21 バッファ容量:36
StringBuilderオブジェクトを作成した直後のバッファ容量は16です。この値がデフォルト値です。
半角の"12345"で作成したStringBuilderオブジェクトのバッファ容量が21で、半角の"1234567890"で作成したStringBuilderオブジェクトのバッファ容量が36です。
Javaソースコードの解説
001
public class StringBuilder02 {
クラス名を、StringBuilder02としています。
002
public static void main(String[] args) {
このmainメソッドからプログラムを実行します。
003 004
// インスタンスを作成 StringBuilder sb1 = new StringBuilder();
引数なしで、StringBuilderオブジェクトsb1を作成しています。
005 006
// オブジェクトのバッファ容量 System.out.println( "バッファ容量:" + sb1.capacity() );
sb1のバッファ容量をコンソール出力してます。
008 009
// インスタンスを作成 StringBuilder sb2 = new StringBuilder( "12345" );
引数"1234567890"で、StringBuilderオブジェクトsb2を作成しています。
010 011
// オブジェクトのバッファ容量 System.out.println( "バッファ容量:" + sb2.capacity() );
sb2のバッファ容量をコンソール出力してます。
013 014
// インスタンスを作成 StringBuilder sb3 = new StringBuilder( "1234567890" );
引数"あいうえお"で、StringBuilderオブジェクトsb3を作成しています。
015 016
// オブジェクトのバッファ容量 System.out.println( "バッファ容量:" + sb3.capacity() );
sb3のバッファ容量をコンソール出力してます。
以上です。