首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bytecode.get()不起作用

Bytecode.get()不起作用
EN

Stack Overflow用户
提问于 2012-09-11 10:05:39
回答 2查看 462关注 0票数 0
代码语言:javascript
复制
import javassist.bytecode.Bytecode;
import javassist.bytecode.ConstPool;
public class Coverage {

    public static void main(String[] args) {

        ConstPool cp = new ConstPool("Hello");
        byte[] b = new byte[100];
        Bytecode bc = new Bytecode(cp);
        b = bc.get();
        System.out.println("Bytecode start");
            for(int i = 0 ; i < b.length ; i++)
             {
                System.out.println(b);
             }
        System.out.println("Bytecode end");
    }

}            

bc.get()没有返回任何内容。我的目标是获取类的字节码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-11 12:03:50

您的System.out.println(b);每次都会打印整个数组,您需要System.out.println(b[i]);,但我不认为它会起作用。试着..。

代码语言:javascript
复制
public static void main(String[] args)  {

    ClassPool pool = ClassPool.getDefault();

    try {
        CtClass cc = pool.get("java.lang.String");
        byte[] bytes = cc.toBytecode();

        System.out.println("Bytecode start");
        for (Byte b : bytes) {
            System.out.println(b);
        }
        System.out.println("Bytecode end");

    } catch (NotFoundException e) {
        e.printStackTrace();
    } catch (CannotCompileException e) {
        e.printStackTrace();
    }

}
票数 0
EN

Stack Overflow用户

发布于 2012-09-17 11:36:48

要编写代码覆盖率工具,请参考此BCEL教程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12367326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档