Java 找不到枚举映射构造函数

Java 找不到枚举映射构造函数,java,enums,enum-map,Java,Enums,Enum Map,既然我有必要 import java.awt.Color; import java.util.EnumMap; 及 那么,就我从文档中可以看出,这应该是可行的 static EnumMap<Terrain, Color> colors = new EnumMap<Terrain, Color>(Terrain.class); static EnumMap colors=新的EnumMap(Terrain.class); 但它实际上给了我这个错误 cannot fin

既然我有必要

import java.awt.Color;
import java.util.EnumMap;

那么,就我从文档中可以看出,这应该是可行的

static EnumMap<Terrain, Color> colors = new EnumMap<Terrain, Color>(Terrain.class);
static EnumMap colors=新的EnumMap(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>();
找不到符号
符号:构造函数枚举映射()
位置:类java.util.EnumMap
静态EnumMapcolors=新EnumMap();

我遗漏了什么?

编译器引用的代码与您声称的不匹配。看起来您实际上并没有向构造函数提供参数。这很好,例如:

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);
    }
}
import java.util.EnumMap;
枚举Foo{}
公共类测试{
公共静态void main(字符串[]args){
EnumMap map=新的EnumMap(Foo.class);
}
}

错误显示无参数构造函数


你确定你看到了正确的代码/重新编译了它吗?

啊,你是对的,实际发生的是Netbeans(6.9)开始无法识别已修改的源文件,因此即使在明确指示保存时也无法保存。不知道为什么Netbeans会出现这样的问题,但复制粘贴到UltraEdit并从那里保存解决了这个问题。
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);
    }
}