自动将代码更新为Java 5

时间:2010-07-20 16:00:48

标签: java

我有很多Java 1.4代码,我正在迁移到Java 5.我想修复有关在参数化类中使用原始类型的所有编译器警告,并且想知道是否有工具这可以自动转换为:

List myList = new ArrayList();
myList.add("foo");
String foo = (String) myList.get(0);

为:

List<String> myList = new ArrayList<String>();
myList.add("foo");
String foo = myList.get(0);

我理解泛型非常复杂,因此不希望这样的工具能够在所有情况下选择最正确的参数化类型。但是,只要它能处理简单的情况(如上所述),并且不会破坏我的代码,我会满意的。

同样,我想将所有old-skool循环更改为Java 5中引入的简化for循环。

这样的工具是否存在?

2 个答案:

答案 0 :(得分:7)

我会用Eclipse做到这一点。

选择您需要升级的包结构,然后右键单击 - &gt;重构 - &gt;推断通用类型参数

Imho它是您需要的起点。

答案 1 :(得分:-2)

我认为最安全的做法是为您的方法添加@SuppressWarnings(“rawtypes”)注释。由于您的代码已经过测试,可以在1.4(我假设)中工作,并且插入了类似通用的语法,因此可能会出现一些令人讨厌的错误。 您可以使用其他values来抑制警告。

您也可以将此注释添加到类

@SuppressWarnings("rawtypes") 
public class MyClass {}

虽然我想不出一个工具来做到这一点。

至于for循环,在编写新代码时使用新的“for”循环是有意义的。因为它更容易。为什么要改变旧式循环?来吧,它的语法并不坏,当然也不难理解:)