リフレクションを使用して、アノテーションを持つフィールドのリストを取得する
2023-11-05 14:14:18
質問
アノテーションを作成する
public @interface MyAnnotation {
}
テストオブジェクトのフィールドに配置しました
public class TestObject {
@MyAnnotation
final private Outlook outlook;
@MyAnnotation
final private Temperature temperature;
...
}
では、すべてのフィールドのリストを
MyAnnotation
.
for(Field field : TestObject.class.getDeclaredFields())
{
if (field.isAnnotationPresent(MyAnnotation.class))
{
//do action
}
}
しかし、私のブロックのdoアクションは実行されないようで、以下のコードが0を返すように、フィールドにはアノテーションがありません。
TestObject.class.getDeclaredField("outlook").getAnnotations().length;
誰か私を助け、私が間違っている何を教えてもらえますか?
どのように解決するには?
アノテーションを実行時に利用可能であることをマークする必要があります。アノテーションのコードに以下を追加してください。
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}
関連
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
-bash: java: コマンドが見つからない 解決方法
-
アノテーション「@Retention」の役割
-
Zipファイルの圧縮・解凍にantを使用する
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] C#のリフレクションで型がインターフェースを実装しているかどうかを判断する方法
-
[解決済み] リフレクションを使って、パッケージ内のすべてのクラスを見つけることができますか?
-
[解決済み] Javaリフレクションを用いた静的なプライベートfinalフィールドの変更
-
[解決済み] リフレクションを用いたオブジェクトのプロパティ設定
-
[解決済み] JUnit Testアノテーションを使用して例外メッセージをアサートするにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限です。タイプ 'JPEGCodec' は API ではない ☞My Blog Github ☜ ホームページを見る
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
プロジェクトの依存関係を解決できない。
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
FindBugの使用概要
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
eclipse にリソースリーク:'in' が閉じない
-
代入の左辺は変数でなければならない 解答
-
htmlとwordの相互変換の実装(画像あり)