我正在使用键T和值Long创建一个HashMap,我的remove方法(从AbstractCollection类中重写)看起来像这样:
public boolean remove(Object o) {
if(denseBag.containsKey(o)){
if(denseBag.get(o) == 1L){
denseBag.remove(o);
} else {
Long removed = denseBag.get(o);
T theO = (T) o;
denseBag.replace(theO, removed, removed--);
}
} else {
return false;
}
Run Code Online (Sandbox Code Playgroud)
我收到消息:"输入安全性:从对象到T的未选中状态".我只是想确保它能正常工作.谢谢.
它会.出于遗留原因,Java在集合中使用Object o signature.
如果这仍困扰你,请使用@SuppressWarnings("unchecked").
不过,你还会遇到很多其他麻烦.
这将被忽略:removed--,使用--removed
| 归档时间: |
|
| 查看次数: |
4492 次 |
| 最近记录: |