オブジェクトが呼び出されたときに構築されるマップがあり、呼び出し元に変数名をキーとして、ゲッター/セッターのペアを値として提供します。これは期待どおりに機能します。私の問題は、呼び出すたびにビルドされることです。毎回マップをビルドする必要がないように、それを静的として宣言し、呼び出したいオブジェクトを提供するだけの方法があるかどうか疑問に思っていました。ゲッターとセッターは実行時に変更されないためです。
###私は持っている:### リーリー リーリーこれにより、他の場所から実行できるようになります:
リーリー先ほども言いましたが、これは機能しますが、呼び出すたびにインスタンスが作成され、マップにデータが追加されます。
SomeStruct が public static Map<String、Pair<Supplier、Consumer>> nameToGetterSetterMap = new HashMap<>();
(またはsome などは有効です)ので、 public Map<String, Pairphpcnltphp cnSupplier, Consumer>> getNameToGetterSetterMap()
はインスタンス化されたパラメータを引数 SomeStruct
として受け取り、その呼び出しをその特定のオブジェクトにのみ適用します。
静的マップを作成して
などで埋めようとしましたが、コンパイラはそれはできないと言います。
Map.of は
変更できないことに注意してください。
map
static に設定できるはずですが、
SomeStruct を何度もインスタンス化しているかどうかを確認しない限り、この Micro -最適化には苦労する価値はありません。
以上がオブジェクトのゲッター/セッターを保持する静的バージョンの Map を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。