我正在重构影响我的代码的很多部分(巨大的),我最终需要组织我的项目的导入,以便它可以在类中添加静态导入成员..
在花了一整天的时间试图弄清楚如何做到这一点后,我找不到方法。它在IntelliJ或Eclipse中都不起作用。
在Eclipse中,我已将其添加到“收藏夹”设置中,就像这里解释的那样:
Eclipse Optimize Imports to Include Static Imports
但是,它仅适用于Control +空间,而不适用于Control + Shift + O(重新排列导入)
在Eclipse 4.2中,至少它会绘制红色线并向我提出添加导入的建议,但它仍然在“组织导入”触发器上无效。
在IntelliJ中它是相同的,将包和类添加到设置中,修复了Control + Alt + Space,但它没有处理“优化导入”功能。
我无法相信这一点。有人不得不处理这件事吗?
答案 0 :(得分:3)
你不想只对所有事情进行import static
;如果类包含过于笼统的类成员,那么import static
只会使您的代码不可读。除此之外,可能存在名称冲突(例如,两个具有static getInstance()
方法的类很常见。
使用IntelliJ 13.1.3,你可以按Alt-ENTER,然后选择进行静态导入(旧版本可能需要在Alt-ENTER之前有一个或多个CTR空间。如果你在静态成员上执行此操作,那么只有静态成员是静态导入的。如果你在一个类上执行它,你可以静态导入所有内容(例如import static some.package.SomeClass.*
)。在后一种情况下,它将删除静态导入前面的类,除非< / em>有一个名字冲突。
请注意,即使没有名称冲突,执行SomeInterface someInstance = getInstance()
- getInstance()
静态导入的内容 - 也会让同事非常紧张。
答案 1 :(得分:0)
请重新阅读您提到的问题。你错过了the answer提到 Ctrl + Shift + M 。命令“Organize Imports”和“Add import”之间存在差异。