如何使用java在java文件中搜索?
我需要在java文件中搜索字符串(实际上是一个方法调用)。我还需要知道它在哪里被调用(我指的是java文件中的哪个方法)。最好的方法是什么?反射实际上只能告诉您给定Java对象存在哪些方法和字段。当JVM运行时,Java源代码已经编译成字节码,在源文件中“搜索字符串”是毫无意义的 我认为最好的办法就是像解析普通文本文件一样解析它如何使用java在java文件中搜索?,java,reflection,Java,Reflection,我需要在java文件中搜索字符串(实际上是一个方法调用)。我还需要知道它在哪里被调用(我指的是java文件中的哪个方法)。最好的方法是什么?反射实际上只能告诉您给定Java对象存在哪些方法和字段。当JVM运行时,Java源代码已经编译成字节码,在源文件中“搜索字符串”是毫无意义的 我认为最好的办法就是像解析普通文本文件一样解析它 class Test { void doTest(){ // do test } public static void main(Strin
class Test {
void doTest(){
// do test
}
public static void main(String[] args){
for (Method each : Test.class.getMethods()){
System.out.println(each.getName() + "()");
}
}
}
将返回:
“doTest()”是Java文件还是类文件?如果是前者,并且您关心结果的可靠性,那么您需要解析Java。你的意思是要在源代码中搜索字符串,还是在运行时通过反射查找方法?请更具体一点。@Adam:
grep
无法捕获(某些小部件)的用法。例如,toString()
。它可以查找toString()
,但这将返回应用程序中任何位置对名为toString
的函数的每次使用。它找不到特定类的toString
的用法。简短版本:grep
只有在方法的名称非常唯一且未被覆盖时才有用。不确定这如何回答问题。你能详细说明一下吗?