から@Anno
var
のインスタンスにアクセスすることはできますか?名前を文字列として使用せずにパラメータを使用してフィールド注釈を取得することはできますか?
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'として使用したくない場合は、フィールド名に依存するようにコードを記述しないでください。代わりにすべてのフィールドを処理します。あなたが「あまりにも賢い」何かをしようとしていたことが明らかになったら、あなたの全体のデザインを変えてください。 – Kayaman