是否可以在java中读取注释的值? [英] Is it possible to read the value of a annotation in java?

查看:27
本文介绍了是否可以在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中读取注释的值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆