gpt4 book ai didi

instance - 如何在javassist中从ctClass创建newInstance?

转载 作者:行者123 更新时间:2023-12-02 19:51:18 26 4
gpt4 key购买 nike

我可以做一个实例:

Class<?> jClazz = Class.forName(XXXX);
jClazz.newInstance();

但我需要通过javassist修改类:

CtClass ctClass = cp.get(path);
CtConstructor m = CtNewConstructor.make("public " + className + "() {}", ctClass);
ctClass.addConstructor(m);

现在,我想从 ctClass 创建一个实例。我该怎么做?

最佳答案

您可以使用ClassPool初始化CtClass。这是一个例子

ClassPool pool = ClassPool.getDefault();
Class<?> clazz = pool.toClass(ctClass);
Object instance = clazz.newInstance();
System.out.println("Instance: " + instance);

关于instance - 如何在javassist中从ctClass创建newInstance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12524839/

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