Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ StringBuilder | 文字列
Java基礎
セクション 5.  6
single

single

StringBuilder

メニューを表示するにはスワイプしてください

StringBuilderとは?

StringBuilderは、文字列オブジェクトの操作や編集を行うためのユーティリティクラス。

Note
ノート

クラスについて、作成方法や正しい使い方の詳細は別のコースで学習。

StringBuilderは独自のメソッドを提供し、StringBuilderオブジェクトの作成は簡単かつ直感的。

Main.java

Main.java

1
StringBuilder builder = new StringBuilder();

括弧内に文字列値を渡すこともでき、その場合、StringBuilder変数はその値を保持します。

Main.java

Main.java

1
StringBuilder builder = new StringBuilder("c<>definity");

値をコンソールに出力するには、StringBuilder のメソッドの1つを使用する必要があります。それは toString() メソッドであり、StringBuilder の値を String 型の値に変換します。 例を見てみましょう。

Main.java

Main.java

123456789
package com.example; public class Main { public static void main(String[] args) { StringBuilder builder = new StringBuilder("c<>definity"); String string = builder.toString(); System.out.println(string); } }
Note
注意

StringBuilder が null の場合、NullPointerException(NPE)がスローされることに注意。

StringBuilderの活用

StringBuilderは豊富なメソッドを提供しており、その中でも特に価値が高く頻繁に使用されるのがappend(String str)です。このメソッドは、指定した文字列をStringBuilderオブジェクトの既存の内容に追加することができます。

コード例を見てみましょう:

Main.java

Main.java

12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { // Initializing the new `String` with value "Hello" String hello = "Hello"; System.out.println("Our string before using an append() method: " + hello); // Initializing a new `StringBuilder` with value of our already initialized string StringBuilder builder = new StringBuilder(hello); // Using `append()` method, adding a string world to our `StringBuilder` builder = builder.append(" world!"); // Creating a new `String` variable that has a `StringBuilder` value String result = builder.toString(); System.out.println("Our string after using an append() method: " + result); } }

なぜ+演算子を使わないのか?

StringBuilderappendメソッドを推奨する理由は、複数の一時オブジェクトの生成を避け、内容を繰り返し変更する際のパフォーマンスを向上させるためです。+演算子を使用すると、その都度新しいオブジェクトが生成され、メモリや時間のコストが高くなります。StringBuilderは内容を直接変更するため、繰り返しの変更に対してより効率的です。

タスク

スワイプしてコーディングを開始

ウェブページ用の商品一覧表示を作成します。各商品には名前価格があり、これらは2次元配列に格納されています。 このリスト全体を、StringBuilderを使って見やすく整形された文字列にまとめる必要があります。

  1. buildProductList(String[][] products)というメソッドを作成し、整形済みのStringを返します。
  2. StringBuilderを初期化し、ヘッダーとして
    "Product List:\n" を追加します。
  3. for-eachループを使ってproducts配列を繰り返し処理します。
  4. 各商品について:
    • 名前product[0])を抽出
    • 価格product[1])を抽出
    • StringBuilderに次の形式で1行を追加
      ProductName - $Price\n
  5. Stringから全体のStringBuilderを返します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 5.  6
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt