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

Javaにおけるストリングバッファとストリングジェネレータの違い

文字バッファーやStringBuilderは可変クラスであり、文字列オブジェクトに対して操作を行うことができます。例えば、文字列の逆転、文字列の圧縮などです。新しい文字列オブジェクトを作成しないで、文字列を変更することができます。文字バッファーはスレッドセーフであり、文字生成器はスレッドセーフではありません。したがって、文字バッファーより速いです。また、文字concat +演算子は内部で StringBuffer や StringBuilder クラスを使用します。以下はその違いです。

インデックスキー文字列バッファ文字列生成器
1
基本的

Javaの初期バージョンで StringBuffer が導入されました

それはJava 5に導入された
2
シンクリナシス
それはシンクリナシスですアシンクリナシス 
3パフォーマンス 

それはスレッドセーフです。したがって、複数のスレッドが同時にアクセスできないため、速度が遅いです。

それはスレッドセーフではありませんので、文字列バッファよりも速いです 
4可変

それは可変です。文字列を変更するのにオブジェクトを作成する必要はありません

それは可変です 
5
ストレージ 
スタック
スタック

StringBuilderの例

public class StringBuilderExample{
   public static void main(String[] args){
      StringBuilder builder = new StringBuilder("Hi");
      builder.append("Java 8");
      System.out.println("StringBuilderExample" +builder);
   {}
{}

StringBufferの例

public class StringBufferExample{
   public static void main(String[] args){
      StringBuffer buffer = new StringBuffer("Hi");
      buffer.append("Java 8");
      System.out.println("StringBufferExample" +buffer);
   {}
{}
おすすめのコンテンツ