gpt4 book ai didi

java - 使用反射从 ClassLoader 获取 defineClass 时出现 NoSuchMethodException

转载 作者:行者123 更新时间:2023-11-30 07:01:44 25 4
gpt4 key购买 nike

我正在尝试使用反射从 ClassLoader 获取 defineClass 方法

ClassLoader cl = this.getClass().getClassLoader();
Method m = cl.getClass().getMethod("defineClass", new Class[] { String.class, Array.class, int.class, int.class });

但这失败并出现 NoSuchMethodException: sun.misc.Launcher$AppClassLoader.defineClass(java.lang.String, java.lang.reflect.Array, int, int)

它似乎不喜欢 Array.class,但如果是这样,我不知道那里需要什么。

最佳答案

ClassLoader.defineClassbyte 数组作为其第二个参数,而不是 Array 类型的对象。这就是您所需要的:

Method m = ClassLoader.class.getDeclaredMethod("defineClass", String.class, byte[].class, int.class, int.class);

关于java - 使用反射从 ClassLoader 获取 defineClass 时出现 NoSuchMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29663564/

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