Eclipse不接受库中的参数化类型

时间:2014-01-02 22:04:36

标签: eclipse type-conversion java type-mismatch

我已经用http://www.ow2.org/view/ActivitiesDashboard/ASM库写了一个简短的课程。 Eclipse(版本:4.3.1 构建ID:M20130911-1000)将标记的语句标记为错误(“类型不匹配:无法从元素类型Object转换为FieldNode ”)。我正在使用 jre7 进行编译。这是不正确的,因为使用的jar的源代码显示。但首先,这是我的课程来源:

import org.objectweb.asm.tree.ClassNode;
public class AccessTransformer
{
ClassNode classNode = new ClassNode();

public byte[] transform(String name, String transformedName, byte[] bytes)
{

    for (FieldNode n : this.classNode.fields) // <----- HERE IS THE ERROR
    {
        if (n.name.equals("test"))
        {
            n.access = 0;
        }
    }
}
}

jar虽然陈述(类org.objectweb.asm.tree.ClassNode):

/**
 * The fields of this class. This list is a list of {@link FieldNode}
 * objects.
 * 
 * @associates org.objectweb.asm.tree.FieldNode
 */
public List<FieldNode> fields;

有没有人知道我做错了什么?我怎样才能确保eclipse“看到”列表的参数化类型为FieldNode?

我尽量不使用反射,因为它会减慢过程的速度。我可以介绍一个“不安全”的演员,但问题是更多元,我想知道为什么eclipse显示“类型不匹配”。

0 个答案:

没有答案