我写道:
public interface Map <Key, Value> cells;
eclipse抱怨并说“{预期”。
public interface Map <Key, Value> cells{};
然后我在eclipse中写上面的内容并且它抱怨“令牌上的语法错误”单元格“,删除此令牌”。
我到底该怎么办?谷歌不是我的朋友,因为我找不到代码片段来解决这个问题的语法。
答案 0 :(得分:4)
您是否尝试声明名为cells
的成员变量?如果是这样,那么做的方法是:
public class Foo {
// ...
public Map<Type1, Type2> cells;
// ...
}
如果您尝试在方法中声明变量,请执行以下操作:
public class Foo {
// ...
public void myMethod() {
// ...
Map<Type1, Type2> cells;
// ...
}
// ...
}
编辑:您似乎对Map <Key, Value>
感到困惑,所以我会尝试解释。
Key
是Map
对象将用于其键集的数据类型的占位符。同样,Value
是数据类型的占位符,它将用于其值集。例如,有效组合为Map <String, Integer>
。这意味着Map
对象会将一组String
个对象映射到一组Integer
个对象。
答案 1 :(得分:4)
你可能意味着
public Map<Key, Value> cells;
interface
关键字用于定义接口。声明实现implements
的{{1}}时使用class
。
答案 2 :(得分:1)
你想做什么?定义新类型或定义Map类型的成员?
如果要定义成员,则不需要之前的interface关键字。 如果要定义新类型,则只需要接口。
答案 3 :(得分:1)
你想:
public Map<Key,Value> cells;
创建一个名为Map的单元格的变量。
public interface Map<Key,Value> cells;
声明(错误地)一个名为Map的用户定义接口 - 可能不是你想要做的。