首页 >Java >java教程 >您可以从 Java 中的不同类访问注释值吗?

您可以从 Java 中的不同类访问注释值吗?

Linda Hamilton
Linda Hamilton原创
2024-10-26 10:11:02369浏览

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

从外部访问注释值

在 Java 中,是否可以在另一个类中检索一个类中定义的注释值?

例如,考虑以下注释及其相应的访问器方法:

<br>@Column(columnName="firstname")<br>private String firstName;<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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn