我想创建一个带浮点(或双精度)键和char值的地图。 我有:
Map<double, char> memory = new HashMap<double, char>();
但是这会在编译时返回错误。 错误是所有4种类型(左和右)的意外错误类型。 另一个错误说:类型Map不带参数 我该如何解决?或者有更好的制作字典的方法吗? 谢谢大卫
改编 代码现在是:
Map<Double, Character> memory = new HashMap<Double, Character>();
它位于名为GameLogic的类中。 但是这会在编译时返回此错误消息:
GameLogic.java:5: type Map does not take parameters
Map<Double, Character> memory = new HashMap<Double, Character>();
扩展代码:
public class GameLogic
{
Map<Double, Character> memory = new HashMap<Double, Character>();
public static int position;
public static char currentBlock;
public static int currentGold;
public static int startingPosition;
public GameLogic()
{
currentGold=0;
}
public void player_position()
{
...
答案 0 :(得分:3)
像这样,在Java 5及以上版本中:
Map<Double, Character> memory = new HashMap<Double, Character>();
或者像这样,在Java 7及以上版本中:
Map<Double, Character> memory = new HashMap<>();
在Java中,您无法创建基本类型的泛型集合,因此必须使用包装类 - 因此double
变为Double
,char
变为Character
答案 1 :(得分:2)
声明地图的正确方法是:
Map<Double, Character> memory = new HashMap<Double, Character>();
为什么使用Double值作为键是否有任何特定原因?