【发布时间】:2017-01-31 10:13:22
【问题描述】:
是否可以从printTitle 内部访问var 的@Anno 实例?
class MyClass {
@Anno(title="Title") Integer var;
void someFunc() {
printTitle(var);
}
public void printTitle(Integer param) {
// How to get to the @Anno annotation?
// Is it possible to get to the 'Field' where param is coming from?
Anno anno = param. ... .getAnnotation(Anno.class);
if(annotation != null) {
...
}
}
}
我不想将var 的名称用作字符串"var",因为以后很难重构。
【问题讨论】:
-
对所提出问题的答案是:不。可以做的方式作为答案给出。如果您不想将字段名称用作
String,请不要编写代码,使其依赖于字段名称。而是处理所有字段。或者,如果你明显地试图做一些“太聪明”的事情,就改变你的整个设计。
标签: java parameters annotations field