我有一个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);
}
答案 0 :(得分:4)
地图中的密钥是在传入的学生姓名上调用formatName
的结果。在地图上调用get
时,您似乎没有使用格式化的名称作为密钥,意味着您传递给get
的密钥与传递给put
的密钥不同。