java HashSet 删除元素问题
答案:1 悬赏:80 手机版
解决时间 2021-02-10 11:16
- 提问者网友:杀手的诗
- 2021-02-09 19:19
java HashSet 删除元素问题
最佳答案
- 五星知识达人网友:拜訪者
- 2021-02-09 19:34
s.remove(i-1);
改为
s.remove((short)(i-1));
i-1是int型,要转成short追问是因为remove(Object o)方法移除的时候回判断是否equals,而Integer型不能向下造型为Short吗?追答看下源码
public boolean equals(Object obj) {
if (obj instanceof Short) {
return value == ((Short)obj).shortValue();
}
return false;
}
类型不同直接返回false追问是的,Long和Integer才不需要强转
改为
s.remove((short)(i-1));
i-1是int型,要转成short追问是因为remove(Object o)方法移除的时候回判断是否equals,而Integer型不能向下造型为Short吗?追答看下源码
public boolean equals(Object obj) {
if (obj instanceof Short) {
return value == ((Short)obj).shortValue();
}
return false;
}
类型不同直接返回false追问是的,Long和Integer才不需要强转
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯