在一個類中,我有幾個匿名類的字段。其中一些人有註釋。例如:直接獲取字段的註釋
public class MainClass {
@Annotation
public static Test t = new Test() {...}
Interface Test {...}
}
我知道我可以做MainClass.class.getField(「T」)查看T的註解getAnnotations(),但有什麼辦法,我可以通過引用得到T的註解。 T'例如,如果我有一組測試,我可以通過遍歷它們來查看它們的註釋嗎?
Collection<Test> c;
...
// MainClass.t is in collection c
...
for (Test test : c) {
// get annotation of test
}
我猜這是不可能的,如果不是,最好的辦法是什麼來接近我想要做的?
是否有任何方法可以讓匿名類的字段看到自己的註釋?像公共靜態測試t =新的測試(){... this.getClass()。doSomething}? – codebreaker
@ user1940121如果您的匿名類有一個實例字段,您可以像平常一樣進行訪問。用你的例子,'t.getClass()。getField(...)'。該字段只能屬於匿名類(實例)。 –