java获取行号_java – 如何获取一个方法的行号?
我想做同樣的事情,經(jīng)過一些研究,就解決了javassist.您將需要添加javassist(我使用版本3.15.0-GA).
給定以下類確定“x”方法的位置.方法名稱“x”是硬編碼的,但是如果你和我在一樣的船上,反射并不困難,所以我相信你可以得到一個(gè)方法名稱列表,然后下面將讓你得到行號(hào)的方法:
public class Widget {
void x(){System.out.println("I'm x\n");}
//comment added to create space
void y(){System.out.println("I'm y\n");}
}
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.NotFoundException;
public class App {
public static void main(String[] args) throws NotFoundException {
System.out.println("Get method line number with javassist\n");
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.get("com.quaternion.demo.Widget");
CtMethod methodX = cc.getDeclaredMethod("x");
int xlineNumber = methodX.getMethodInfo().getLineNumber(0);
System.out.println("method x is on line " + xlineNumber + "\n");
}
}
輸出:方法x在第12行,在我的情況下是準(zhǔn)確的我刪除了一些評(píng)論…
總結(jié)
以上是生活随笔為你收集整理的java获取行号_java – 如何获取一个方法的行号?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四边等宽的安卓新机来袭 Nothing
- 下一篇: html鼠标悬浮抓手型css代码