假设我有以下课程:
class A {
static public String a;
}
class B {
public function referToFieldInClassA() {
System.out.println(A.a);
}
}
Java反射API中是否有任何内容可以让我找到引用特定字段的所有位置?我正在寻找的方法是找出(给出例子)B类引用A.a。
我知道我可以通过反射API获取类中的所有字段。但是现在我想找到对该字段的所有引用。
感谢。
答案 0 :(得分:2)
从标准API来看,我认为答案是否定的。 Eclipse可以做到,但那不是在运行时。
对于一种令人难以置信的黑客行为方式,获取ClassLoader对象,获取resourceAsStream以获取某些内容,使用JODE之类的内容对其进行反编译,并从程序内部解析源代码。
但这是一项疯狂的工作。你用它做什么了?
答案 1 :(得分:1)
如果您的需求是编译时而不是运行时,并且您没有IDE,那么更改字段名称并重新编译以及搜索无法编译的旧技巧。 ]
然后,当然,给自己一个IDE。