在整理代码,将用Workshop建立的一个Application(包含1个Web Project,1个Java Project和1个EJB Project)中的Java Project在Eclipse中打开并编辑,因为Workshop代码提示和完成以及其他一些小巧不严的能力跟Eclipse相比还有一定差距,感觉写代码、格式化代码还是Eclipse好用。
Eclipse用的是JDK 1.5_06似乎,而Workshop是使用JRockit81sp4_142_05和JDK 142_05,所以当用Eclipse打开这个Java Project的时候,报了一大堆的警告。
比如:
Type safety: The method add(Object) belongs to the raw type List. References to generic type List<E> should be parameterized
查了一下,貌似是说这就是由于JDK不同,可能1.5认为1.42的这种代码有什么不妥之处。果然,换用1.42的JRE就不会有警告报出。
网上只有关于这种问题的一篇文章,说可以用
@SuppressWarnings(value = { "unchecked" })
加在方法之前,这样就可以屏蔽指定类型的警告信息。传递给SuppressWarnings的参数是一个数组,所以可以屏蔽多种类型警告信息。
为了保证和工程项目的环境一样,我用Eclipse,而JRE选用了Workshop自带的JDK。虽然没有了这种由于JDK版本不同而报的警告,但是还是被其他类型的警告包围着。而这些代码现在看来,的确是在用而且可以用的,已经上线的系统。那么难道不能写出不会被警告的代码么?如果写一个HelloWorld,肯定不会有警告。这感觉,就像我骑自行车,肯定没问题,但是换成开车,就会被交警提示“请慢行”、“请靠右走”……虽然表面上没有犯错,也没有吃罚单,但是还是觉得不爽。说到底,还是对交法(Java)的某些特性不了解造成的。
所以说,应该把这些警告,全部搞定,当搞定的时候,也就是自己提高了一大截的时候。
参考内容: