文字と文字列の注意事項

CHAR

  1. Javaのchar型の文字は2つの文字は、中国を表すことができますUnicodeエンコーディングを使用しています
  2. チャーがintであってもよい、として格納される各タイプのためにインストール短い、長い整数は、その性質バイナリ整数形式であるが、遷移中に異なる長さに起因する注意が必要データの損失。

  1. STR1 =新しい文字列( "ABC")与STR2 = "ABC"
    STR1 == str2を是偽
    str1.equse(STR2)是真

オブジェクトリテラルプール

  1. 最初からJava5.0、Java仮想マシン、それが9つのオブジェクトプールをインスタンス化するために開始します。彼らは主に効率のために、オブジェクトや包装Stringオブジェクトの8つの基本タイプを格納するために使用されています。、プールは非常に重要であるオブジェクトプールと文字列の概念の役割を理解するためにのみ、この文字列データを用いて実際に柔軟なことができます。
    ***
  2. STR1 =「ABC」は、オブジェクトの同等がない確認する定数プールされ、次いで、定数プール「ABC」のアドレスにオブジェクトを作成し、直接0009に割り当てられたアドレスを使用する場合、定数プールオブジェクトSTR1を割り当てていない場合、新しい文字列(「ABC」)を定数プール内のオブジェクト「ABC」を作成し、あれば、直接オブジェクトのヒープ内の「ABC」を作成していない場合、オブジェクトの同等がない確認する定数プールであります一般的な「ABC」オブジェクト。
    ***
  3. プールは、頻繁に作成し、破壊したオブジェクトと衝突システム性能を避けるためです。JVMは、二重引用符で囲まれた文字列にコードを実行している場合は、Stringオブジェクトは、対象の文字の同じシーケンスかどうかを確認するためにプールすることです。もしそうなら、既製のオブジェクトを取得し、そうでない場合は、オブジェクトプールにオブジェクトを作成し、返します。
    ***
  4. 文字列の連結とのStringBuilderの多量のStringBufferは、多数のオブジェクトを作成して使用しないようにした場合
    のStringBufferは、スレッドセーフではない
    のStringBuilderは、スレッドセーフである
    StringBuffer.reverse()文字列フリップ

Javaプログラマのインタビューの本を学びます

おすすめ

転載: www.cnblogs.com/lianqiqi/p/11028823.html