类似这种ArrayList)request.getAttribute("claimedList");
request.getAttribute返回的是Object,cast的时候会出Type safety: Unchecked cast from Object to ArrayList警告(eclipse),
如何比较优雅的避免这个警告
[b]问题补充:[/b]
提供的答案都是让eclipse忽略这种警告
这种问题就没得修复了?sun当初添加泛型的时候就没考虑过jsp里的问题啊
Eclipse-->首选项--->JAVA-->Compiler-->Errors/Warnings-->Generic types-->下面三个全部改成Ignore就OK了
不让eclipse检查jsp的有效性
在windows->preferences->editors->jsp里将那个复选框取消
泛型对象的检测是JDK1.5开始加入的新功能,能够在编译时发现类型转换的错误。如果你不想让JDK做这个检测,那么未知的类型转换错误只能在运行时发生,而且不好定位错误的地方。
如果你想屏蔽这种检查,可采取如下的方法
1.用JDK1.5以前的版本
2.或着用@SuppressWarnings("unchecked")
3.如果是在Eclipse下开发的话,还可以更改Eclipse的编译属性,在 windows-设定-java-compile-错误和警告 里面有不检查泛型 这个选项。改成无视就行了
因为request对象的Attribute属性本身就是定义的的泛型,你正解给转成ArrayList当然会警告你,如果不让eclipse忽略,这个警告就永远都无法避免,因为你把一个Object转成一个ArrayList按理论就应该警告你
这个只是提示,并不影响运行,你如果不想看到,完全没有必要理会
如果你公司非要使用checkStyle检查的话可以使用在泛型前面加上@SuppressWarnings("unchecked") 来避免提示