首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动将代码更新到Java 5

自动将代码更新到Java 5
EN

Stack Overflow用户
提问于 2010-07-21 00:00:48
回答 2查看 175关注 0票数 3

我有很多Java 1.4代码,我正在将它们迁移到Java 5。我想修复所有关于在参数化类中使用原始类型的编译器警告,我想知道是否有一个工具可以自动转换如下内容:

代码语言:javascript
复制
List myList = new ArrayList();
myList.add("foo");
String foo = (String) myList.get(0);

至:

代码语言:javascript
复制
List<String> myList = new ArrayList<String>();
myList.add("foo");
String foo = myList.get(0);

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

类似地,我想将所有旧的skool循环更改为Java 5中引入的简化的for循环。

这样的工具存在吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-21 00:10:57

我会使用Eclipse来做这件事。

选择需要升级的包结构,然后右键单击-> Refactor -> Infer Generic Type Arguments

我想这是你需要的一个起点。

票数 7
EN

Stack Overflow用户

发布于 2010-07-21 00:08:56

我认为对你来说最安全的事情就是为你的方法添加一个@SuppressWarning(“rawtypes”)注释。由于您的代码已经在1.4 (我假设)中进行了测试,并且以这种方式插入通用的like语法可能会导致出现一些讨厌的bug。您可以使用其他values来抑制警告。

您还可以将此批注添加到类中

代码语言:javascript
复制
@SuppressWarnings("rawtypes") 
public class MyClass {}

尽管我想不出有什么工具可以做到这一点。

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

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3291947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档