任意のJavaリフレクションを使用して(クラス、メソッドなどの)任意のプロパティを変更することは可能ですか? java reflection APIを使用してクラスメンバーを変更することはできますか?
-3
A
答えて
3
はい。リフレクションを使用してプライベートメンバーを編集することもできます。一部のライブラリとフレームワーク(たとえばHibernateとWicket)がこれを行います。あなたが本当に良い理由がない限り、私はあなた自身でこれを行うことをお勧めしません。
import java.lang.reflect.Field;
class Something {
private String name = "Hello";
public void printName() {
System.out.println(name);
}
}
public class Example {
public static void main(String[] args) throws Exception {
Something s = new Something();
s.printName();
Field field = s.getClass().getDeclaredField("name");
field.setAccessible(true);
field.set(s, "Goodbye");
s.printName();
}
}
+0
Thnkxを見たことがありますか?たとえそれが愚かなqstnだったとしても...私はjus tryinだった投稿:P –
2
BeanUtilsを見てください。これは、反射で直接作業することなくこれを行うことができます。はるかに簡単かつ少ない冗長:例と http://commons.apache.org/beanutils/
いくつかのより多くのドキュメント:あなたは本当に反射で手が汚れて取得したい場合を除きhttp://commons.apache.org/beanutils/v1.8.3/apidocs/org/apache/commons/beanutils/package-summary.html#package_description
、私は々BeanUtilsのような抽象化レイヤで動作することをお勧めします。
関連する問題
- 1. タイムラインバナー - APIを使用して変更することはできますか?
- 2. javaのクラスメンバーをループすることはできますか?
- 3. Javaのリフレクションを使用して静的な最終フィールドを変更することはできませんか?
- 4. java apiを使用してHiveパーティションの場所を変更できますか?
- 5. java reflection:メソッドIDを変更してプライベートメソッドをオーバーライドすることは可能ですか?
- 6. Reflection、BukkitAPIを使用しているときのJava NoSuchFieldError
- 7. 現在のYoutube APIを使用してコメントにアクセスして変更することはできますか?
- 8. AJAXを使用してクエリーセットを変更することはできますか?
- 9. powershellを使用してファイルエクスプローラビューを変更することはできますか?
- 10. Java Reflection Bad Practiceを使用していますか?
- 11. Java Reflectionを使用してAndroidがプライベート静的最終フィールドを変更していますか?
- 12. 構造化バインディングを使用してクラスメンバーを割り当てることはできますか?
- 13. java reflectionを使用してprotobufインスタンスを作成するには?
- 14. Java Reflection API
- 15. Java POI APIを使用してxlsxファイルを変更する
- 16. スプレッドシートスクリプトを変更して使用権限を変更することはできますか?
- 17. Apache JamesをSMTP APIとして使用することはできますか
- 18. Swiftは動的プロキシを作成するためのAPIを提供していますかJavaはReflection Proxy APIを使用していますか?
- 19. Java AWS SDKのS3 APIをプライベートサーバで使用してS3インタフェースを公開することはできますか?
- 20. java Swing DnD apiを使用してmousePressedでドラッグを開始することはできますか?
- 21. Javaを使用してDLLを作成することはできますか?
- 22. Reflectionを使用してType.Delimiterを変更できないのはなぜですか?
- 23. log4j変換パターンでJavaオブジェクトを使用することはできますか?
- 24. 参照をクラスメンバーとして使用できないのはなぜですか?
- 25. Java Reflectionを使用してプリミティブ型/オブジェクトを作成する
- 26. Java Reflectionを使用してプライベートフィールドを設定する
- 27. 低レベルのAppengine Email APIを使用してインラインイメージを追加することはできますか? (java)
- 28. Javaで変数を使用して変数に名前を付けることはできますか?
- 29. CSSを使用してこのHTML構造を変更することはできますか?
- 30. APIキーでGoogleカレンダーAPIを使用することはできますか?
なぜGoogleはいいですか? –
あなたは[ウェブ](http://docs.oracle.com/javase/tutorial/reflect/) – radimpe