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;