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