此文章发布于70
个月前,部分信息可能已经过时
,请自行斟酌确认。
写了一个类型转换,结果 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");
警告如图:
对于有强迫症的我来说这是不可接受的。
解决方案一
来自:https://segmentfault.com/q/1010000019062247
这个没办法,因为 getAttribute
的签名里返回值就只是个 Object
。
又由于 Java 对泛型的实现问题,要么你这里 u
的声明改为 Map u = (Map) subject.***
,如果你能接受这样的话。
解决方案二
使用注解忽略警告
@SuppressWarnings("unchecked")