EnumMap构造函数未找到。

4

鉴于我具备所需的

IT技术,我可以帮助您解决相关问题。
import java.awt.Color;
import java.util.EnumMap;

并且

enum Terrain { ... }

据我从文档中了解,这应该可以工作。
static EnumMap<Terrain, Color> colors = new EnumMap<Terrain, Color>(Terrain.class);

但实际上它给我报错了。

cannot find symbol
symbol  : constructor EnumMap()
location: class java.util.EnumMap<Terrain,java.awt.Color>
static EnumMap<Terrain,Color>colors=new EnumMap<Terrain, Color>();

我漏掉了什么?
2个回答

12
编译器引用的代码与你所声称的不匹配。看起来你实际上没有向构造函数提供参数。下面是一个正常工作的例子:

编译器引用的代码与你所声称的不匹配。看起来你实际上没有向构造函数提供参数。下面是一个正常工作的例子:

import java.util.EnumMap;

enum Foo {}

public class Test {    
    public static void main(String[] args) {
        EnumMap<Foo, String> map = new EnumMap<Foo, String>(Foo.class);
    }
}

啊,你说得对,实际上发生的是Netbeans(6.9)开始无法识别源文件是否被修改,因此即使明确指示保存,也无法保存。不知道为什么Netbeans会出现这样的故障,但是将其复制粘贴到UltraEdit中并从那里保存解决了问题。 - rwallace

1

错误显示了一个没有参数的构造函数。

你确定你看的是正确的代码/已经重新编译过了吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接