4

鉴于我有必要的

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

我错过了什么?

4

2 回答 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);
    }
}
于 2011-06-21T10:46:33.870 回答
1

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

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

于 2011-06-21T10:47:46.867 回答