0
我有一個註釋,用於放置類的字段。我想創建一個方法深入遍歷具有該註解的對象中的所有字段,並對該字段的值執行一些操作。什麼是最簡單的方法(使用框架等)來做到這一點?深度遍歷具有該註釋的對象中的所有字段
我有一個註釋,用於放置類的字段。我想創建一個方法深入遍歷具有該註解的對象中的所有字段,並對該字段的值執行一些操作。什麼是最簡單的方法(使用框架等)來做到這一點?深度遍歷具有該註釋的對象中的所有字段
如何
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.*;
@Retention(RetentionPolicy.RUNTIME)
@interface Foo {
}
public class X {
@Foo
public X x = null;
public static void main(String [] args) throws Exception {
X root = new X();
root.x = new X();
root.x.x = new X();
recurse(root);
}
private static void recurse(Object root) throws Exception {
if (root == null) return;
for (Field f : root.getClass().getFields())
if (f.getAnnotation(Foo.class) != null){
System.out.println(root);
recurse(f.get(root));
}
}
}
輸出:
[email protected]
[email protected]
[email protected]