本文介绍了是否可以在java中读取注释的值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的代码:
@Column(columnName="firstname")
private String firstName;
@Column(columnName="lastname")
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
是否可以在另一个类中读取我的注释@Column(columnName="xyz123") 的值?
is it possible to read the value of my annotation @Column(columnName="xyz123") in another class?
推荐答案
是的,如果您的 Column 注释具有运行时保留
Yes, if your Column annotation has the runtime retention
@Retention(RetentionPolicy.RUNTIME)
@interface Column {
....
}
你可以这样做
for (Field f: MyClass.class.getFields()) {
Column column = f.getAnnotation(Column.class);
if (column != null)
System.out.println(column.columnName());
}
更新:获取私有字段使用
UPDATE : To get private fields use
Myclass.class.getDeclaredFields()
这篇关于是否可以在java中读取注释的值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!