私はクライアント用のアプリケーションを構築しています。私は、文字列を使ってフィールド値を参照する必要がある状況に遭っています。つまり、ユーザーは文字列を使用して値を変更するフィールドを定義し、これは抽象的なフレームワークの一部なので、技術的に私が変更したいフィールドの名前はわかりません。もちろん、ハッシュマップを使用してこれを行うこともできますが、ハッシュマップにコード化された値ではなく、オブジェクトのフィールドとしてフィールドを保持できるので、Javaのリフレクションを使用することを検討しています。自分の個人的な仕事のためにリフレクションを使用しましたが、Javaリフレクションを使用するのが実際には悪いのかどうか疑問に思っていました。ハッシュマップ方法論に固執する必要があります。Java Reflection Bad Practiceを使用していますか?
(説明した設計上の問題を解決するための他の提案も歓迎です)
おかげ
私はあなたの質問に言い換えます:「オブジェクトを操作するのは悪い習慣なので、意図したとおりに動作しませんか?」私はthibkあなたはこれに答えることができます。 –
ermいいえアプリケーションは実際に変更するオブジェクトの値を設定することに基づいているため、わずかに異なります。問題は、文字列名で参照する必要があることです。 –
反射が非常に遅いため、使用するのは良いことではありません。また、チャージを取得するにはyes変数がありますが、変数の値の1つを予期しない値に変更した場合はどうなりますか? –