找不到EnumMap构造函数

时间:2011-06-21 10:43:10

标签: java enums enum-map

鉴于我有必要的

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 个答案:

答案 0 :(得分:11)

编译器引用的代码与您声称的代码不符。看起来你不是实际上为构造函数提供了一个参数。这很好,例如:

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);
    }
}

答案 1 :(得分:1)

错误显示无参数构造函数。

您确定要查看正确的代码/已重新编译吗?