gpt4 book ai didi

Java:类型不匹配无法从元素类型 Object 转换为 MethodNode

转载 作者:行者123 更新时间:2023-12-01 14:52:09 25 4
gpt4 key购买 nike

您好,我在这段代码中遇到了问题,这真的很困扰我,因为我不知道如何修复它,如果你们能帮助我那就太好了!

public void execute(final String name, final ClassNode cn) {
Updater.getInstance().getClasses().set("Animable", cn);
addProcessor(new AddInterfaceProcessor(this, cn.name, ACCESSOR_DESC + "Animable"));
for (final MethodNode mn : cn.methods) {
if ((mn.access & (Opcodes.ACC_ABSTRACT | Opcodes.ACC_STATIC | Opcodes.ACC_NATIVE)) != 0 || !mn.desc.equals("()Z")) {
continue;
}
final RIS ris = new RIS(mn);
FieldInsnNode fin;
for (int i = 0; i < 4; i++) {
if ((fin = ris.next(FieldInsnNode.class, Opcodes.GETFIELD)) == null) {
continue;
}
addProcessor(new AddGetterProcessor(this, "get" + ((i & 1) != 0 ? "Max" : "Min") + (char) (Math.max(0, Math.min(1, i - 1)) + 88), fin.desc, cn.name, fin.name, fin.desc, false));
}
break;
}
}

问题出在这部分:

for (final MethodNode mn : cn.methods) {
if ((mn.access & (Opcodes.ACC_ABSTRACT | Opcodes.ACC_STATIC | Opcodes.ACC_NATIVE)) != 0 || !mn.desc.equals("()Z")) {
continue;
}

如何修复它?

最佳答案

cn.methods的类型必须是 Object[]Iterable<Object> .

您必须使用:

for (final Object obj : cn.methods) {
MethodNode mn = (MethodNode)obj;

或者修复 cn.methods 的类型更具体一点。

关于Java:类型不匹配无法从元素类型 Object 转换为 MethodNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14735684/

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