私はメンバーが一揃いのDTOを持っています。私は、Javaがクラスのfor(in)の考えをサポートしているかどうか疑問に思っていました。私はそうは思わないが、それができたらそれは私に悲しみのトンを救うだろう。だから、そこに質問を投げかけようと思った。javaのクラスメンバーをループすることはできますか?
答えて
さて、あなたが反射でそれを行うことができます。
for (Field field : clazz.getFields())
{
...
}
(またはメソッドなどの等価)を
あなたは、フィールドの特定のインスタンスの値、または静的な値を得ることができます。
+1は簡潔です。 –
非常に義務付けられています。ありがとう。 –
はい、Reflection APIを使用してください。特にgetFields
とgetMethods
の方法をClass
から調べてください。
リフレクションを使用すると、すべてのメンバーと関数を取得できます。
多分、DTOにこれほど多くのメンバーが必要だと思うかもしれません。リファクタリングに時間がかかるかもしれない。
この情報のためにクラスをイントロスペクションできるリフレクションフレームワークを見てください。
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/package-summary.html
それはそれはしかし手間のビット、ありません。
あなたはリフレクションを使用する必要があります。
このClassオブジェクトが表すクラスまたはインタフェースによって宣言されたすべてのフィールドを反映するFieldオブジェクトの配列を返します
あなたは例を見ることができますhere
フィールドを取得する方法は3つありますClassオブジェクトのオブジェクト
Class cls = java.awt.Point.class;
// By obtaining a list of all declared fields.
Field[] fields = cls.getDeclaredFields();
// By obtaining a list of all public fields,
// both declared and inherited.
fields = cls.getFields();
for (int i=0; i<fields.length; i++) {
Class type = fields[i].getType();
process(fields[i]);
}
// By obtaining a particular Field object.
// This example retrieves java.awt.Point.x.
try {
Field field = cls.getField("x");
process(field);
} catch (NoSuchFieldException e) {
}
より多くのオプションのためのClassクラスの定義を参照してください。
- 1. 保護クラスメンバーは、Javaのpublicクラスメンバーと同じようにアクセスできます。
- 2. Javaプログラミングではwhileループ文をループすることはできません
- 3. java reflection APIを使用してクラスメンバーを変更することはできますか?
- 4. 私はこのJavaループをexplaneすることができます
- 5. Javaのループ内で変数名を変更することはできます
- 6. 2d配列のクラスメンバーをforループでコンストラクタ内で宣言することは可能ですか?
- 7. select文のリストをループすることはできますか?
- 8. Jekyllのサブフォルダをループすることはできますか?
- 9. mysqlでselectをループすることはできますか?
- 10. RowDataBoundをループすることはできますか?
- 11. Collection.Request.Formをループすることはできますか?
- 12. UIScrollView/UIPageControlをループすることはできますか?
- 13. ラムダでループすることはできますか?
- 14. カラーチェンジャーをループに入れることはできますか?
- 15. Javaでクラスをクローンすることはできますか?
- 16. javascriptオブジェクトを逆順にループすることはできますか?</p> <p>私はこのようなループすることができます:
- 17. このループ配列をJson Objectにすることはできますか?
- 18. このループをマップ(lambda x:..)に変換することはできますか?
- 19. Javaでこれを行うことはできますか?
- 20. このループのパフォーマンスを向上させることはできますか?
- 21. Javaはループ内でBigInteger操作を「変更」することを最適化できますか?
- 22. スイッチのループで「ブレーク」を解除することはできますか?
- 23. JavaでHashMapオブジェクトを返すことはできますか?
- 24. Javaでprintlnを呼び出すことはできますか?
- 25. 構造化バインディングを使用してクラスメンバーを割り当てることはできますか?
- 26. これを1回のループで行うことはできますか?
- 27. ループ内のローカルの借用をリセットすることはできますか?
- 28. Netbeans - Javaアプリケーションが「停止」することはできますか?
- 29. ループ内にループ/条件/ブロックを書くことはできますか?
- 30. forまたはwhileを使用してPHPでこのコードをループすることはできますか?
「DTO」とは何ですか? – CodyBugstein
あなたは3.5年前に答えられた質問でこれを聞いていますか? DTOは、通常、結果のdbテーブルに関連付けられているデータセットを表すために使用されるオブジェクトです。私はここで春を使っていました。私はそれがほとんどのJDBCの状況で使用されていると推測します。 –
私は時間がないサイバースペースの物事の大きなスキームでは3.5年とは何ですか?ご回答有難うございます。 – CodyBugstein