我有一个泛型类“Property”,我想把它放在一个HashMap中,但是我得到一个"Unexpected token: >"
错误。
我正在使用Processing 2.2.1。
class MouseEvent extends Event{
HashMap<String, Property> Args;
MouseEvent(String type){
Args = new HashMap<String, Property>();
Args.put("mouseX", new Property<int>(mouseX)); //throws unexpected token
Args.put("mouseY", new Property<int>(mouseY));
Args.put("Button", new Property<int>(mouseButton));
Args.put("Type", new Property<String>(type));
}
}
class Property<T>{
private T val;
Poperty(T v){
val = v;
}
void Set(T v){
val = v;
}
T Get(){
return val;
}
}
我在这里误解了什么? :/
答案 0 :(得分:3)
您不能使用int
等原始数据类型作为泛型类型。您必须使用相应的对象,即Integer
。
将您的代码更改为
Args.put("mouseX", new Property<Integer>(mouseX));
另请注意遵循java命名约定。变量/方法名称应该是驼峰式的
HashMap<String, Property> args;
args = new HashMap<String, Property>();
//...