我正在尝试将一个对象数组及其等效的id放在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);
^
任何帮助都将受到高度赞赏。 (如果我遗漏了一些明显的东西,我想道歉,我已经在这个问题上工作了好几个小时了,而且我的状况并不是最好的。)
感谢您的时间!
答案 0 :(得分:4)
我假设这发生在返回类型为Value
的方法中。编译器抱怨这是因为map#put
返回了要添加的值,导致出现此错误,因为Value[]
无法转换为Value
。
答案 1 :(得分:1)
使用您提供的代码段看起来不错。
我认为收到您返回的array_memory.put(id, array)
的变量属于Value
类型而非Value[]
答案 2 :(得分:0)
put函数返回第二个参数,也许你在返回时得到你的类型不匹配。