機能:
(推奨チュートリアル: java 入門チュートリアル )
1. String クラスは、final によって変更されます。継承することはできません。
2. String クラスの基礎となる層は配列構造を使用します。 jdk9 より前は char[] が使用され、jdk9 以降は byte[] が使用されました。
3. String オブジェクトは一度作成されると変更できません。共有を実現するために、最下層に文字列定数プールが維持されます。
注: String クラスのオブジェクトが変更されるたびに、新しいオブジェクトが生成されます。
(ビデオ チュートリアルの推奨: java ビデオ チュートリアル)
String オブジェクトのスプライシング
定数プール内の文字列定数 定数プール内の文字列 定数:結果は、定数プールに格納される文字列定数です。
String c = "a"+"b"; String ab = "ab"; System.err.println(ab==c); //输出true123
変数定数プール: 結果は、ヒープに格納される文字列定数です。
String a = "a"; String c = "a"+"b"; System.err.println(c==a+"b"); //输出false123
スプライシングの結果がintern() メソッド、戻り値は定数プールにあります
String a = "a"; String b = "b"; String c = "a"+"b"; System.err.println(c==a+b); //输出false,证明String类的拼接中只要有一个是变量,结果就存在堆中 String a = "a"; String b = "b"; String c = "a"+"b"; System.err.println(c==(a+b).intern()); //输出true,说明如果拼接结果调用intern()方法,返回值就在常量池中
以上がJavaのStringクラスの特徴は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。