ホームページ  >  記事  >  Java  >  Java の別のクラスからアノテーション値にアクセスできますか?

Java の別のクラスからアノテーション値にアクセスできますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-26 10:11:02266ブラウズ

Can You Access Annotation Values from a Different Class in Java?

外部からのアノテーション値へのアクセス

Java では、あるクラス内で別のクラス内で定義されたアノテーションの値を取得することは可能ですか?

たとえば、次のようになります。次のアノテーションとそれに対応するアクセサー メソッドを検討してください:

<br>@Column(columnName="firstname")<br>private String firstName;</p>
<p>@Column(columnName= "lastname")<br>private String lastName;</p>
<p>public String getFirstName() {<br> return firstName;<br>}</p>
<p>public void setFirstName(String firstName) {<br> this.firstName = firstName;<br>}</p>
<p>public String getLastName() {<br> return lastName;<br>}</p>
<p>public void setLastName(String lastName) {<br> this .lastName = lastName;<br>}<br>

別のクラスから @Column アノテーションの "columnName" 値を確認することは可能ですか?

はい、 @Column アノテーションが @Retention(RetentionPolicy.RUNTIME) を使用してランタイム保持を指定している場合は可能です。その方法は次のとおりです。

<code class="java">for (Field f: MyClass.class.getFields()) {
   Column column = f.getAnnotation(Column.class);
   if (column != null)
       System.out.println(column.columnName());
}</code>

MyClass.class.getFields() はパブリック フィールドのみを取得することに注意してください。プライベート フィールドにアクセスするには、MyClass.class.getDeclaredFields().

を使用します。

以上がJava の別のクラスからアノテーション値にアクセスできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。