为了账号安全,请及时绑定邮箱和手机立即绑定

java,返回错误

java,返回错误

慕沐林林 2019-03-20 18:15:28
public Set<V> remove(Object key, Object value) {    if (!map.containsKey(key)) return null;        Set<V> set = map.get(key);    if (set==null) return null;        if (set.remove(value)) {        return set;    }    else {        return null;    }        }eclipse报错:The return type is incompatible with Map<K,Set<V>>.remove(Object, Object) MultiValueHashMap.java帮帮我。。。
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

你这个类实现的java.util.Map接口里面已经声明了一个remove(Object,Object)方法:

boolean remove(Object key, Object value)

你自己的实现类里面也写了一个remove方法,但是方法签名是:

Set<V> remove(Object key, Object value)

由于方法名和参数相同,但是返回值不同,编译器认为你是在覆盖/实现java.util.Map里面的remove方法,但是由于方法的返回值不匹配,
所以编译的时候会报The return type is incompatible with Map<K,Set<V>>.remove(Object, Object)
把你的方法修改名字或者改变参数形式就能通过编译。

Set<V> multiMapRemove(Object key, Object value)


查看完整回答
反对 回复 2019-04-18
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

你的这个map是MultiValueHashMap吧,你怎么声明这个MultiValueHashMap的?是MultiValueHashMap<Object, Object>还是MultiValueHashMap<Object, Set<Object>>?


查看完整回答
反对 回复 2019-04-18
  • 3 回答
  • 0 关注
  • 946 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号