ホームページ >Java >&#&はじめる >JavaのString、StringBuffer、StringBuilderの違い

JavaのString、StringBuffer、StringBuilderの違い

王林
王林転載
2019-11-29 13:54:551906ブラウズ

JavaのString、StringBuffer、StringBuilderの違い

相違点は次のとおりです:

1) String クラスの内容は、一度宣言されると変更できません。変更されるのはメモリ ポインタのみですが、 StringBuffer クラスのオブジェクトの内容は変更可能です。

2) StringBuffer の場合、オブジェクトのインスタンス化は String のように代入によって直接完了することはできず、コンストラクター メソッドを通じて完了する必要があります。

3) StringBuffer は文字列の処理時に新しいオブジェクトを生成せず、メモリ使用量の点で string クラスよりも優れています。したがって、実際の使用において、挿入、削除などの文字列の変更が頻繁に必要な場合には、StringBuffer を使用するのが適しています。

オンライン教育ビデオ共有: java ビデオ

例: 文字列オブジェクトを変更できないとは、参照を変更できないということではなく、オブジェクト自体を変更できないことを意味します。

String a = “你好”;

このコード行は、a という String 型参照変数を宣言し、メモリ内に String オブジェクト (値 "Hello" を含む) を作成し、このオブジェクトの参照を変数 a に割り当てることを意味します。 。

a = “hello”;

このコード行の効果は、メモリ内に別の String オブジェクト (値 "hello" を持つ) を作成し、代入する代わりに、この新しいオブジェクトの参照を変数 a に代入することです。元の文字列オブジェクトをメモリに保存します。「hello」の文字列オブジェクト値は「hello」になります。

4) StringBuilder と StringBuffer の最大の違いは、StringBuilder のメソッドがスレッドセーフではない (同期的にアクセスできない) ことです。

5) StringBuilder は StringBuffer に比べて速度に優れているため、ほとんどの場合 StringBuilder クラスを使用することをお勧めしますが、アプリケーションでスレッド セーフが必要な場合は StringBuffer クラスを使用する必要があります。

Java 関連の記事をさらに知りたい場合は、Java プログラミングの概要

を参照してください。

以上がJavaのString、StringBuffer、StringBuilderの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。