Java 这可能吗HashMap<;字符串,char>;
我正在创建一个包含两个棋盘的游戏: 我想把“A”链接到“.”。两者都是字符串数组。 我想用这个:Java 这可能吗HashMap<;字符串,char>;,java,string,char,hashmap,Java,String,Char,Hashmap,我正在创建一个包含两个棋盘的游戏: 我想把“A”链接到“.”。两者都是字符串数组。 我想用这个: indexesOfBoard.put("A", ((morris.START[0].charAt(0)))); 但是我得到一个错误,比如: The method put(String, String) in the type HashMap<String,String> is not applicable for the arguments (String, char) 类型参数不
indexesOfBoard.put("A", ((morris.START[0].charAt(0))));
但是我得到一个错误,比如:
The method put(String, String) in the type HashMap<String,String> is not applicable for the arguments (String, char)
类型参数不能是基元类型。改用包装类替代方案:
HashMap<String, Character>
HashMap
原语类型不能用作java中的泛型类型参数。请改用相应的装箱类型。类型参数中不允许使用基元类型。它需要容器(对象)而不是基本体。您必须使用包装器对象Character
而不是原语char
类型
使用:HashMap
将引用类型声明为
HashMap
后,只需将char
原语作为值放入其中。这就是自动装箱的用武之地。i、 将字符装箱到字符对象中并存储它您不能在泛型中使用基元类型。改为使用字符。泛型类中不允许使用基元类型,只允许使用类类型。像这样使用
HashMap<String, Character>
HashMap
错误是因为您使用的是字符(基本类型)。
尝试使用
HashMap.使用字符
。如果您对错误的含义感兴趣,Map
是合法的,因此编译器希望添加这些数组括号。这不是HashMap的具体问题。是的,我只是专门回答了。我刚刚更新了它
HashMap<String, Character>