Я пытаюсь разместить массив объектов и его эквивалентный идентификатор внутри HashMap.
Это моя HashMap:
private Map<String, Value[]> array_memory = new HashMap<String, Value[]>();
Это мой массив объектов:
Value[] array = new Value[x];
И вот как я помещаю их в array_memory:
return array_memory.put(id, array);
Однако когда я запускаю свою программу, я получаю эту ошибку:
error: incompatible types: Value[] cannot be converted to Value
return array_memory.put(id, array);
^
Любая помощь будет высоко оценен. (Я хотел бы извиниться, если мне не хватает чего-то очевидного, я работал над этим уже несколько часов, и я не в своем лучшем состоянии).
Спасибо за ваше время!
Пожалуйста, опубликуйте минимальный воспроизводимый пример




Я предполагаю, что это происходит внутри метода с типом возвращаемого значения Value. Компилятор жалуется на это, потому что map#put возвращает добавляемое значение, что приводит к этой ошибке, потому что Value[] не может быть преобразован в Value.
Он отлично смотрится с предоставленным вами фрагментом кода.
Я думаю, что переменная, получающая ваш возвращенный array_memory.put(id, array), имеет тип Value вместо Value[].
Функция put возвращает второй параметр, возможно, вы получите несоответствие вашего типа в возврате.