带有int数组(int [])的HashMap作为值在get上返回null?

时间:2011-09-25 01:06:09

标签: java arrays hashmap

我有一个Hashmap,它存储学生名称作为键,并将得分的int数组作为值。我知道它正确地创建了HashMap但是在尝试返回int数组时,我似乎无法得到一个键。

public int[] getQuizzes(String studentName)
    {
        int[] studentsQuizzes = quizMarks.get(studentName);
        return studentsQuizzes; 
    }

它最终返回null。我缺少什么,谢谢你的帮助

这就是我创建hashmap的方式

quizMarks = new HashMap<String, int[]>();   

public void addStudent(String studentName)
    {
        String formattedName = formatName(studentName);
        int[] quizzes = new int[NUM_QUIZZES];
        for (int i = 0; i < quizzes.length; i++)
        {
            quizzes[i] = MIN_GRADE;
        }
        quizMarks.put(formattedName, quizzes);
    }

1 个答案:

答案 0 :(得分:4)

地图中的密钥是在传入的学生姓名上调用formatName的结果。在地图上调用get时,您似乎没有使用格式化的名称作为密钥,意味着您传递给get的密钥与传递给put的密钥不同。