この投稿では、最後に余分な区切り文字を削除する方法について説明します StringBuilder Javaのクラス。

コレクションをループして各要素をコレクションに追加するときに、余分な区切り文字が追加されます。 文字列ビルダー デリミタで区切られたオブジェクト。最後に追加の区切り文字を追加する次のコードを考えてみましょう。

ダウンロード  コードを実行する

 
これは、すべての Java 開発者が一生に一度は直面したことがある、非常に一般的な問題です。この問題に対処するためのいくつかの方法について説明します。

1.forループの使用

このメソッドでもコレクションをループしますが、それを賢明な方法で実行します。区切り文字を追加する代わりに、各値の先頭に区切り文字を追加し、空の文字列をコレクションの最初の値の区切り文字として使用します。こうすることで、最後に余分な区切り文字が追加されなくなります。

ダウンロード  コードを実行する

2. 変数の使用

もう 1 つのオプションは、変数を使用してコレクションのサイズを追跡し、リストの最後の要素にない場合にのみ区切り文字を追加することです。こうすることで、最後に余分な区切り文字を追加することを避けられます。

ダウンロード  コードを実行する

3.使用する StringJoiner Class

Java 8以降では、 StringJoiner の代わりにクラス StringBuilder、区切り文字を受け取ります。 区切り文字で区切られた一連の値を構築します。このクラスは最後の区切り文字を自動的に処理し、末尾に余分な区切り文字を追加しません。

ダウンロード  コードを実行する

4.使用する setLength() また deleteCharAt() メソッド

次の解決策では、ループで末尾に余分な文字を追加できます。 StringBuilder、ただし、によって提供されるユーティリティメソッドを使用して削除します。 StringBuilder クラス:

⮚使用 setLength() 方法

The setLength() メソッドを使用すると、 StringBuilder 物体。長さを設定できます StringBuilder 現在の長さより 1 つ小さくします。これにより、最後の文字が効果的に削除されます。

ダウンロード  コードを実行する

⮚使用 deleteCharAt() 方法

The deleteCharAt() メソッドを使用すると、文字を削除できます StringBuilder インデックスを指定してオブジェクトを取得します。使用できます sb.length() - 1 最後の文字を削除するためのインデックスとして使用します。

ダウンロード  コードを実行する

最後に余分な区切り文字を削除するだけです StringBuilder Javaで。

 
関連記事:

Javaで文字列の末尾から余分な区切り文字を削除します