English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

データが大量に変更される場合、JavaではStringかStringBufferを選択しますか?

文字文字列型はJavaクラスであり、一組の文字を表すために使用されます。Javaの文字文字列は変更不可能で、作成後は文字文字列の値を変更できません。

文字文字列は変更不可能であるため、文字文字列の値を再割り当てしようとすると、その参照は新しいStringオブジェクトを指し、未使用のStringがメモリに残ります。

Javaは、文字文字列を大量に変更する必要がある場所で、StringBufferクラスをStringの代わりとして提供します。

繰り返し変更することができます。/StringBufferの内容を操作しますが、多くの新しい未使用のオブジェクトを残しません。

StringBuilderクラスはJavaから 5主要な違いは、StringBuilderのメソッドがスレッドセーフではありません(アタッチメントの)。

可能な限りStringBuilderを使用することをお勧めします。それはStringBufferよりも速いです。ただし、スレッドセーフを保証する必要がある場合は、StringBufferオブジェクトが最適です。

文字列をStringBuilderに変換

StringBuilderクラスのappend()メソッドはString値を受け取り、それを現在のオブジェクト

String値をStringBuilderオブジェクトに変換するには、append()メソッドを使用してそれを接続するだけで済みます。

以下のJavaプログラムでは、文字列配列を単一のStringBuilderオブジェクトに変換します。

public class StringToStringBuilder {
   public static void main(String args[]) {
      String strs[] = {"Arshad", "Althamas", "Johar", "Javed", "Raju", "Krishna" };
      StringBuilder sb = new StringBuilder();
      sb.append(strs[0]);
      sb.append(" "+1]
      sb.append(" "+2]
      sb.append(" "+3]
      sb.append(" "+4]
      sb.append(" "+5]
      System.out.println(sb.toString());
   }
}

出力結果

Arshad Althamas Johar Javed Raju Krishna
おすすめ