Java で文字列を作成するのに new を使用しないのはなぜですか?
文字列は確かに Java のオブジェクトですが、Java とは異なる方法で作成されます。 文字列インターニング.
Java では、文字列リテラル (二重引用符で囲まれた) は自動的にインターンされます。これは、同じ文字列リテラルへの複数の参照がメモリ内の同じ String オブジェクトを指すことを意味します。したがって、new を使用して String オブジェクトを作成するのは冗長であり、不必要です。
例:
String str1 = "Hello World"; String str2 = "Hello World";
ここで、str1 と str2 は、一見同じように見えますが、同じ String オブジェクトを参照しています。別途作成。これは、JVM が文字列リテラル「Hello World」を認識し、インターンされた String オブジェクトを取得するためです。
次に、文字列の作成に new を使用することが推奨されない理由を理解しましょう。
要約すると、Java での文字列インターンにより、文字列を作成するために new を使用する必要がなくなり、効率が向上し、文字列リテラルを操作する際の一貫した動作が保証されます。 .
以上がJava で文字列を作成する際に「new」の使用を避けるべきなのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。