【发布时间】:2010-08-19 16:08:30
【问题描述】:
我想选择一个 Iterable,按 Alt+Shift+Z 以获取“Surround With”上下文菜单,并显示一个 foreachwrap 模板,该模板将以适当的格式将所选内容包装在每个循环中。
比如我要选择
someObject.getSomeList()
并生成这个
for (SomeListType someListType : someObject.getSomeList()) {
}
我尝试过类似的方法,但它似乎不起作用:
for( ${t:elemType(ls)} ${:name(t)} : ${ls:line_selection} )
{
${cursor}
}
【问题讨论】:
-
我去看看。或者,您可以键入“foreach”,按 Ctrl-Space,然后选择“foreach - 遍历数组或 Iterable”提案,它将使用最后引用的 Iterable 或数组变量从“foreach”模板生成代码.
-
我建议您将其发布在stackoverflow.com/questions/1028858/… 下以避免重复。至于这个问题,我有点半信半疑。通用类型信息不保留在字节码中,缺少这些信息会阻碍解决方案。我真的很想看到答案!
-
@questzen 泛型类型信息(至少对于类和方法签名)保留在字节码中,否则 Java 编译器无法使用它。但是,在运行时不使用通用信息。
-
我同意拉德斯坦的观点。这个模板已经存在于 eclipse 中,如果你想使用集合而不是最新的,那么只需先编写你的语句,即 someObject.getSomeList() 然后通过键入“foreach”并按 Ctrl+Space 来使用 foreach 模板。