HashMap с массивом int (int []) в качестве значения возвращает null при получении? - PullRequest
0 голосов
/ 25 сентября 2011

У меня есть Hashmap, в котором имя студента хранится в качестве ключа, а массив значений int - в качестве значения. Я знаю, что он правильно создает HashMap, но при попытке вернуть массив int для ключа я не могу получить.

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

В итоге возвращается ноль. Что мне не хватает, спасибо за любую помощь

Вот как я создаю хэш-карту

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 Ответ

4 голосов
/ 25 сентября 2011

Ваши ключи на карте - это результат вызова formatName для передаваемого имени студента. Вы не используете форматированное имя в качестве ключа при вызове get на карте, то есть ключей переход на get отличается от передачи на put.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...