[解決済み] Java リフレクションですべてのプライベートフィールドを取得する
2023-06-30 05:15:39
質問
javaのあるクラスのすべてのプライベートフィールドとその型を取得する方法はあるのでしょうか。
例えば、私がクラスを持っているとします。
class SomeClass {
private String aaa;
private SomeOtherClass bbb;
private double ccc;
}
ここで、すべてのプライベートフィールド (
aaa
,
bbb
,
ccc
) のクラス
SomeClass
(前もってすべてのフィールドの名前を知っているわけではありません) そして、それらの型をチェックします。
どのように解決するのですか?
すべてのフィールドを取得するためには、メソッド
getDeclaredFields()
の
Class
. そして、各フィールドのモディファイアをチェックして、プライベートなものを見つける必要があります。
List<Field> privateFields = new ArrayList<>();
Field[] allFields = SomeClass.class.getDeclaredFields();
for (Field field : allFields) {
if (Modifier.isPrivate(field.getModifiers())) {
privateFields.add(field);
}
}
なお
getDeclaredFields()
は継承されたフィールドを返さないことに注意してください。
最終的に、フィールドの型を取得するのは、メソッド フィールド.getType() .
関連
-
Collections.sortがdoubleでソートできない問題を完璧に解決する。
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] なぜJavaにはtransientフィールドがあるのですか?
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
Uncaught ReferenceError: は定義されていません。
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
コンストラクタDate()が未定義である問題
-
1分でわかる!恋人の写真をIDEAの背景画像に設定する方法【おすすめ集
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
ApiModel と @ApiModelProperty の使用法
-
WeChat小プログラム Bluetooth通信 Bluetoothモジュールデモ
-
[解決済み】Javaで異なるクラスからプライベートフィールドの値を読み取る方法は?