java – 重构foreach到for循环

前端之家收集整理的这篇文章主要介绍了java – 重构foreach到for循环前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Java的foreach循环(这里是简化版)
List<String> names = getNames();
for(String name:names) {
    doSomething(name);
}

有没有一种自动方式将其重构为传统的for循环?

我知道如何手动完成

List<String> names = getNames();
for(int i=0; i<names.size(); i++) {
    String name = names.get(i);
    doSomething(name);
}

正如您所看到的,for语句本身需要输入一些内容,并再次引入变量名称并为其赋值names.get(i).总的来说,手动编辑对我来说太容易出错了.

我为什么要这样做?我必须修复一个错误,修复是从索引1开始而不是索引0并在索引n-1结束而不是结束(遗憾的是我无法立即修复输入,我需要等待库更新如果那被认为是一个bug).

我试过了什么?我右键单击了for关键字并单击了“Refactor”,但是就我从上下文菜单条目中获取内容而言,那里的任何内容都不会为我工作.

为什么我认为这在理论上可行?因为Resharper for Visual Studio(C#)中存在类似的功能.

仅供参考:我正在使用Eclipse Luna SR 2(4.4.2)

解决方法

将鼠标悬停在for语句上,右键单击,快速修复(Ctrl 1),转换为索引循环.

应该管用!

猜你在找的Java相关文章