Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでStringBufferをクリアする方法|delete()とsetLength()の使い方を解説

この記事では、StringBufferをクリア(内容を空に)する方法について詳しく解説します。

StringBufferはStringクラスの兄弟クラスにあたり、文字列操作のための多くの機能を提供しています。両者の大きな違いは、Stringが固定長かつ不変(イミュータブル)な文字列を表すのに対し、StringBufferは可変長で書き換え可能な文字列を扱える点です。そのため、StringBufferの内容は後から削除・変更することができます。

実行結果のイメージ

まず、今回作成するプログラムの入出力を確認しておきましょう。

入力(クリア前のStringBufferの中身):

This string buffer is defined as: Java Program

期待される出力(クリア後):

The string buffer after clearing:

バッファ内の文字列がすべて削除され、空になっていることがわかります。

処理の流れ(アルゴリズム)

ステップ1 - 処理を開始する
ステップ2 - StringBufferオブジェクト(string_buffer)を宣言する
ステップ3 - append()メソッドで値を設定する
ステップ4 - delete(0, バッファの長さ) を呼び出してバッファをクリアする
ステップ5 - 結果を表示する
ステップ6 - 処理を終了する

方法1:delete()メソッドを使ってクリアする

もっとも一般的な方法は、組み込みメソッドのdelete()を使うやり方です。開始位置に「0」、終了位置にバッファの現在の長さ(length())を指定することで、すべての文字を一括削除できます。

public class Buffer {
    public static void main(String[] args) {
        StringBuffer string_buffer = new StringBuffer();
        string_buffer.append("Java");
        string_buffer.append(" Program");
        System.out.println("This string buffer is defined as: " + string_buffer);
        string_buffer.delete(0, string_buffer.length());
        System.out.println("The string buffer after clearing: " + string_buffer);
    }
}

出力結果

This string buffer is defined as: Java Program
The string buffer after clearing:

方法2:setLength()メソッドを使ってクリアする

もうひとつの簡単な方法が、setLength()メソッドを使うやり方です。引数に「0」を渡すことで、バッファの長さを強制的にゼロに設定し、内容を空にできます。

public class Buffer {
    public static void main(String[] args) {
        StringBuffer string_buffer = new StringBuffer();
        string_buffer.append("Java");
        string_buffer.append(" Program");
        System.out.println("This string buffer is defined as: " + string_buffer);
        string_buffer.setLength(0);
        System.out.println("The string buffer after clearing: " + string_buffer);
    }
}

出力結果

This string buffer is defined as: Java Program
The string buffer after clearing:

補足:どちらの方法を選ぶべき?

  • delete(0, length()):範囲指定による削除なので、部分的に消したい場合にも応用できます。
  • setLength(0):コードが短く直感的で、全消去に特化したシンプルな記述です。

どちらのメソッドも内部のバッファ領域を再利用するため、新しいStringBufferインスタンスを生成するよりも効率的です。ループ処理などで同じバッファを繰り返し使いたい場面で特に有効です。

  1. 【Java入門】長方形の周囲(外周)を求めるプログラムの作り方

    長方形の周囲とは? この記事では、Javaを使って長方形の周囲(外周)を求める方法を解説します。長方形の周囲とは、長方形の4つの辺すべての長さを足し合わせた合計のことで、次の図のように「縦の辺2本」と「横の辺2本」の長さを合計したものに相当します。 長方形は向かい合う辺の長さが等しいという性質を持つため、周囲は次の式で計算できます。 周囲 = 2 ×(縦の長さ + 横の長さ) 入力と出力の例 たとえば、入力が次の値であるとします。 長方形の各辺の長さ:5, 8, 5, 8 このとき、期待される出力は次のとおりです。 Perimeter : 26 アルゴリズム 処理の流れは以下のようになりま

  2. JavaのJSliderでエクステント(extent)を設定する方法

    SwingのJSliderでは、スライダーのエクステント(extent)を設定するためにsetExtent()メソッドを使用します。エクステントとは、スライダーのつまみ(ノブ)がカバーする範囲のサイズのことで、この値を設定すると、ユーザーはスライダーをその範囲以上に移動できなくなります。setExtent()メソッドの基本的な使い方以下のように、JSliderオブジェクトに対してsetExtent()メソッドを呼び出すだけで、エクステントを設定できます。JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 70); slider.se