1. ホーム
  2. java

[解決済み] 文字列を" "で初期化するには?

2022-04-26 19:18:54

質問

String が他のクラスと同じようにクラスである場合、二重引用符を使ってどのように初期化することができますか?

どのように解決するのですか?

Java文字列は特殊

Javaの設計者は、言語のパフォーマンスを向上させるために、すべてをオブジェクトにするのではなく、オブジェクト指向言語でプリミティブ型を残すことにした。プリミティブはコールスタックに格納されるため、記憶領域が少なくて済み、操作も安価になる。一方、オブジェクトはプログラムヒープに格納されるため、複雑なメモリ管理が必要で、記憶領域も多くなる。

<ブロッククオート

パフォーマンス上の理由から、JavaのStringはプリミティブとクラスの中間に位置するように設計されています。

例えば

String s1 = "Hello";              // String literal
String s2 = "Hello";              // String literal
String s3 = s1;                   // same reference
String s4 = new String("Hello");  // String object
String s5 = new String("Hello");  // String object

<イグ

注意事項 文字列リテラル は、共通のプールに格納されます。これにより、同じ内容を持つ文字列のストレージの共有が容易になり、ストレージを節約することができます。 String を介して割り当てられたオブジェクトです。 new 演算子は heap で、同じコンテンツのストレージを共有することはありません。