Idea 消除 unchecked cast Warning

写了一个类型转换,结果 idea 有黄色警告,提示内容如下:

Unchecked cast: 'java.lang.Object' to 'java.util.Map<java.lang.String,java.lang.Object>'

代码如下:

Subject subject = SecurityUtils.getSubject();
Map<String, Object> u = (Map<String, Object>) subject.getSession().getAttribute("currUser");

警告如图:
20190503210541787.png

对于有强迫症的我来说这是不可接受的。

解决方案一

来自:https://segmentfault.com/q/1010000019062247
这个没办法,因为 getAttribute 的签名里返回值就只是个 Object
又由于 Java 对泛型的实现问题,要么你这里 u 的声明改为 Map u = (Map) subject.***,如果你能接受这样的话。

解决方案二

使用注解忽略警告

@SuppressWarnings("unchecked")
最后修改:2019 年 05 月 04 日 08 : 58 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论