如何获得用户定义的多个注释,这些注释具有构造函数中预期的参数类型?

时间:2013-11-24 18:27:08

标签: java reflection annotations

假设我有一个 Course()构造函数,其参数如下:字符串名称 int age

我希望用户使用注释,指定构造函数或方法具有的参数。

这样的事情:

@Param (param = String.class)
@Param (param = int.class)
public Course(String name, int age) {
    super();
    this.name = name;
    this.age = age;
}

因此,稍后,当我获得构造函数时,我可以从注释中推断出必须使用哪些参数来获取该类的实例。

package DomainModel;

public @interface Param {
    Class<?> param();
    //ArrayList<Class<?>> params;
}

非常感谢所有帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

像这样定义你的注释......

 public @interface Param {
          String name();
          Integer age();
 }

那么你的用户可以像这样使用..

@Param (name="your_name", age=your_age)
public void setCourse(String name, int age) {


}

然后您需要反思来为您的成员分配注释值。