English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
文字バッファーやStringBuilderは可変クラスであり、文字列オブジェクトに対して操作を行うことができます。例えば、文字列の逆転、文字列の圧縮などです。新しい文字列オブジェクトを作成しないで、文字列を変更することができます。文字バッファーはスレッドセーフであり、文字生成器はスレッドセーフではありません。したがって、文字バッファーより速いです。また、文字concat +演算子は内部で StringBuffer や StringBuilder クラスを使用します。以下はその違いです。
インデックス | キー | 文字列バッファ | 文字列生成器 |
---|---|---|---|
1 | 基本的 | Javaの初期バージョンで StringBuffer が導入されました | それはJava 5に導入された |
2 | シンクリナシス | それはシンクリナシスです | アシンクリナシス |
3 | パフォーマンス | それはスレッドセーフです。したがって、複数のスレッドが同時にアクセスできないため、速度が遅いです。 | それはスレッドセーフではありませんので、文字列バッファよりも速いです |
4 | 可変 | それは可変です。文字列を変更するのにオブジェクトを作成する必要はありません | それは可変です |
5 | ストレージ | スタック | スタック |
public class StringBuilderExample{ public static void main(String[] args){ StringBuilder builder = new StringBuilder("Hi"); builder.append("Java 8"); System.out.println("StringBuilderExample" +builder); {} {}
public class StringBufferExample{ public static void main(String[] args){ StringBuffer buffer = new StringBuffer("Hi"); buffer.append("Java 8"); System.out.println("StringBufferExample" +buffer); {} {}