java - 是否可以在java中读取注释的值?

标签 java annotations getter-setter java-6

这是我的代码:

@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") 的值?

最佳答案

是的,如果您的 Column 注释具有运行时保留

@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());
}

更新:获取私有(private)字段使用

Myclass.class.getDeclaredFields()

关于java - 是否可以在java中读取注释的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4296910/

相关文章:

java - 为什么 null 被禁止作为注释中的默认值?

ios - 长按快速将图钉注释添加到 map View

java - 我的 setter 未设置

python - 在 python 中使用属性的 getter

Java - 停止 ExecutorService 中的所有任务

Java/hibernate - 异常 : The internal connection pool has reached its maximum size and no connection is currently available

Java注解

java - 如何在 Spring @Value 注解中正确指定默认值?

java - 使用java将一个类中的getters/setters获取到一个actionform中

java - 具有多个线程的 ExecutorService 无法正常工作,但在 Debug模式下工作正常