我正在优化我的代码(安卓游戏),并希望用正常的fors替换所有foreach(for(:))。有没有办法找到它们? Ctrl-F只查看当前文件,Ctrl-H似乎没有找到任何java结构(不确定是否正确的单词:ifs,whiles,accessors等)。最好没有插件,但接受任何答案。如果有可能搜索任何字符串(搜索中的*)也会很好。
TL; DR:寻找在日食中找到所有foreaches的方法。
答案 0 :(得分:5)
首先,我必须说,这听起来像是一个非常奇怪的优化。请记住,如果你有一个LinkedList
,那么通过
for (int i = 0; i < list.size(); i++) {
element = list.get(i);
...
循环,而不是使用迭代器(for-each循环)。在很长一段路上闻到微观优化。
那就是说,这是给你的解决方案:
搜索正则表达式,例如for\s*\(.*:
表达式匹配表单for
上的字符串,后跟一些白色空格,后跟(
后跟一些字符,然后是:
(表示Java的特征是 - 每个循环)。
答案 1 :(得分:2)
右键单击项目,选择搜索,然后您就可以将所有for
- 命令替换为for(.*;.*;.*)
这样的正则表达式以及您想要的其他表达式。