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 に答える