gpt4 book ai didi

java - 使用 Java 反射测试空方法体

转载 作者:搜寻专家 更新时间:2023-11-01 02:32:58 25 4
gpt4 key购买 nike

正如标题所暗示的,有什么方法可以使用反射来查看一个方法是否有空体?

最佳答案

仔细一想,我不这么认为。你可以看看 BCEL虽然……

The Byte Code Engineering Library is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files

这里有一个片段可以让你从这个 article 开始...

public class ClassViewer{
private JavaClass clazz;
public ClassViewer(String clazz){
this.clazz = Repository.lookupClass(clazz);
}
public static void main(String args[]){
if(args.length != 1)
throw new IllegalArgumentException(
"One and only one class at a time!");
ClassViewer viewer = new ClassViewer(args[0]);
viewer.start();
}
private void start(){
if(this.clazz != null){
// first print the structure
// of the class file
System.err.println(clazz);
// next print the methods
Method[] methods = clazz.getMethods();
for(int i=0; i<methods.length; i++){
System.err.println(methods[i]);
// now print the actual
// byte code for each method
Code code = methods[i].getCode();
if(code != null)
System.err.println(code);
}
}else
throw new RuntimeException(
"Class file is null!");
}
}

关于java - 使用 Java 反射测试空方法体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4886951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com