我有很多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循环。
这样的工具是否存在?
答案 0 :(得分:7)
我会用Eclipse做到这一点。
选择您需要升级的包结构,然后右键单击 - &gt;重构 - &gt;推断通用类型参数
Imho它是您需要的起点。
答案 1 :(得分:-2)
我认为最安全的做法是为您的方法添加@SuppressWarnings(“rawtypes”)注释。由于您的代码已经过测试,可以在1.4(我假设)中工作,并且插入了类似通用的语法,因此可能会出现一些令人讨厌的错误。 您可以使用其他values来抑制警告。
您也可以将此注释添加到类
@SuppressWarnings("rawtypes")
public class MyClass {}
虽然我想不出一个工具来做到这一点。
至于for循环,在编写新代码时使用新的“for”循环是有意义的。因为它更容易。为什么要改变旧式循环?来吧,它的语法并不坏,当然也不难理解:)