用Java创建地图

时间:2014-02-24 00:22:57

标签: java map

我想创建一个带浮点(或双精度)键和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()
{
...

2 个答案:

答案 0 :(得分:3)

像这样,在Java 5及以上版本中:

Map<Double, Character> memory = new HashMap<Double, Character>();

或者像这样,在Java 7及以上版本中:

Map<Double, Character> memory = new HashMap<>();

在Java中,您无法创建基本类型的泛型集合,因此必须使用包装类 - 因此double变为Doublechar变为Character

答案 1 :(得分:2)

声明地图的正确方法是:

Map<Double, Character> memory = new HashMap<Double, Character>();

为什么使用Double值作为键是否有任何特定原因?