使用Java中的反射允许我知道有关每个类函数的参数和返回类型的信息,但是我想知道是否存在一种方法来了解函数中是否使用了属性(在同一个类中): / p>
public class ClassExample {
private String propertyExample;
public void function1() {
...
}
public void function2() {
...
propertyExample = "";
...
}
public Integer function3 (String parameter) {
...
propertyExample = parameter;
...
}
}
在这种情况下,我需要知道在 function2 和 function3 中使用 propertyExample 。
提前致谢。
答案 0 :(得分:1)
不,如果不解析字节代码,那是不可能的。
答案 1 :(得分:0)
免责声明:在判断之前阅读完整的答案。
标记字段final
将允许编译器警告您已使用(已分配)字段。
public class ClassExample {
private static final String propertyExample;
public void function1() {
...
}
public void function2() {
...
propertyExample = ""; //<-- compiler tells you that propertyExample is used (assigned)
...
}
public Integer function3 (String parameter) {
...
propertyExample = parameter; //<-- compiler tells you that propertyExample is used (assigned)
...
}
}
虽然我的回答为您的问题提供了解决方案,但我确定它不会像您期望的那样。正如Edvin Syse所说,如果不解析字节代码就不可能。
然而,我们不知道这个问题的根本问题。您只向我们展示了您认为可以解决的解决方案。如果您与我们分享真正的问题,SO社区可能对您更有用,并能够帮助您找到问题的准确解决方案(可能: - ))。