Java でのアノテーション値へのアクセス
Java アノテーションは、クラス、メソッド、フィールドなどのコード要素にメタデータを追加するメカニズムを提供します。デフォルトでは、注釈はコンパイル中にのみ使用可能であり、実行時には破棄されます。ただし、Retention アノテーションで RetentionPolicy.RUNTIME 値を指定すると、実行時にアノテーションを保存できます。
別のクラスからアノテーション値にアクセス
アノテーションにRetentionPolicy.RUNTIME 保持ポリシーでは、Java リフレクションを使用して、その値を別のクラスから読み取ることができます。その方法は次のとおりです:
<code class="java">// Import the necessary classes import java.lang.reflect.Field; import java.lang.annotation.Annotation; // Get the class object Class<?> clazz = MyClass.class; // Iterate over the fields of the class for (Field field : clazz.getFields()) { // Check if the field has the Column annotation Annotation annotation = field.getAnnotation(Column.class); // If the annotation exists, read its columnName() value if (annotation != null) { String columnName = ((Column) annotation).columnName(); System.out.println("Column Name: " + columnName); } }</code>
プライベート フィールドへのアクセス
getFields() メソッドはパブリック フィールドのみを取得します。プライベートフィールドにアクセスするには、代わりに getDeclaredFields() を使用します:
<code class="java">for (Field field : clazz.getDeclaredFields()) { ... }</code>
以上がJava で実行時にアノテーション値にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。