Java 带有<;关键、价值>;
我写道:Java 带有<;关键、价值>;,java,hashmap,Java,Hashmap,我写道: public interface Map <Key, Value> cells; 公共接口映射单元; eclipse抱怨说,{expected} 公共接口映射单元{}; 然后我在eclipse中写了上面的内容,它抱怨“标记“cells”上的语法错误,删除这个标记” 我到底该怎么办呢?谷歌不是我的朋友,因为我找不到代码片段来计算它的语法。你想做什么?定义一个新类型或定义类型映射的成员 如果要定义成员,则不需要在其前面使用interface关键字。 只有在定义新类型时才需
public interface Map <Key, Value> cells;
公共接口映射单元;
eclipse抱怨说,{expected}
公共接口映射单元{};
然后我在eclipse中写了上面的内容,它抱怨“标记“cells”上的语法错误,删除这个标记”
我到底该怎么办呢?谷歌不是我的朋友,因为我找不到代码片段来计算它的语法。你想做什么?定义一个新类型或定义类型映射的成员 如果要定义成员,则不需要在其前面使用interface关键字。 只有在定义新类型时才需要接口。您需要:
public Map<Key,Value> cells;
公共映射单元;
创建一个称为“映射类型的单元格”的变量
public interface Map<Key,Value> cells;
公共接口映射单元;
正在(错误地)声明一个名为Map的用户定义界面-可能不是您试图执行的操作。是否正在尝试声明一个名为cells的成员变量?如果是,方法是:
public class Foo {
// ...
public Map<Type1, Type2> cells;
// ...
}
公共类Foo{
// ...
公共地图单元;
// ...
}
如果试图在方法中声明变量,请执行以下操作:
public class Foo {
// ...
public void myMethod() {
// ...
Map<Type1, Type2> cells;
// ...
}
// ...
}
公共类Foo{
// ...
公共方法(){
// ...
地图细胞;
// ...
}
// ...
}
编辑:看起来你被地图
弄糊涂了,所以我会试着解释一下
Key
是Map
对象将用于其键集的数据类型的占位符。类似地,Value
是将用于其值集的数据类型的占位符。有效的组合是,例如,Map
。这意味着Map
对象将映射一组字符串
对象到一组整数
对象。您的意思可能是
public Map<Key, Value> cells;
公共映射单元;
interface
关键字用于定义接口。implements
用于声明一个实现接口的类
,接口
关键字在那里做什么?你想实现什么?如果我没有包含“interface”,eclipse会抱怨这个值和键“无法解析为类型"。这是因为Key
和Value
不是类型。在这种情况下,Key
是Map
对象将用于其密钥集的数据类型的占位符。类似地,Value
也是其将用于其值集的数据类型的占位符。有效的组合是,例如,Map
。是的,它可以工作!!非常感谢William:DDang,它仍然不工作。错误:“键和值无法解析为类型。”。这是另一个错误。键和值必须是Java类。一个工作示例是公共映射单元格;
。我想您刚才使用了键和值作为占位符。@Randle:看看上面William Brendel的评论。您需要用实际的键和值类型替换“键”和“值”。
public Map<Key, Value> cells;