找不到EnumMap构造函数

rwa*_*ace 4 java enums enum-map

鉴于我有必要

import java.awt.Color;
import java.util.EnumMap;
Run Code Online (Sandbox Code Playgroud)

enum Terrain { ... }
Run Code Online (Sandbox Code Playgroud)

那么就我从文档中可以看出,这应该有效

static EnumMap<Terrain, Color> colors = new EnumMap<Terrain, Color>(Terrain.class);
Run Code Online (Sandbox Code Playgroud)

但它实际上给了我这个错误

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

我错过了什么?

Jon*_*eet 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);
    }
}
Run Code Online (Sandbox Code Playgroud)