Java 文字列: "String s = new String("silly")" を指す
Java プログラミングの世界に足を踏み入れながらの場合、String オブジェクトの適切な作成に関するクエリが表示されます。この懸念は、「new String(...)」呼び出しの代わりにリテラルを利用することで不必要な String の作成を回避するという概念から生じています。ただし、このガイダンスは、CaseInsensitiveString などのカスタム文字列クラスの使用と矛盾しているようです。
質問 1: "new CaseInsensitiveString(...)" の使用はなぜ必要ですか?
String の単純なケースとは対照的に、CaseInsensitiveString はプログラマによって定義されたカスタム クラスです。このクラスのインスタンスは、指定されたコンストラクター「CaseInsensitiveString(...)」を介してのみ作成できます。 Java はコピー コンストラクターをサポートしていないため、オブジェクトの内部状態を初期化するにはコンストラクターを明示的に呼び出す必要があります。
質問 2: CaseInsensitiveString を String のように動作するように調整する
CaseInsensitiveString のデフォルトの動作では、そのコンストラクターを使用する必要があります。これを模倣する潜在的な方法があります。組み込み String クラスの簡略化された構文。
拡張あり:
拡張なし:
以上がCaseInsensitiveString インスタンスを作成する方法: コンストラクターまたは静的ファクトリ メソッド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。