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 サイトの他の関連記事を参照してください。