澄清 - 在Eclipse中导入语句

时间:2013-12-18 07:26:46

标签: java eclipse

我正在开发一个Spring Web项目。

我有一个域类:

com.ciar.seafac.engine.domain.Component 

我也在使用Spring框架中的@Component注释:

org.springframework.stereotype.Component 

我无法在我的类中为这两个类添加import语句。所以,我必须为我的Component类使用完全限定的类名。

还有其他办法吗?我可以知道为什么Eclipse不允许我导入这两个类吗?当我添加两个导入语句并保存类文件。 Eclipse只删除了一个。请解释一下为什么会这样。

2 个答案:

答案 0 :(得分:6)

如果两个类具有完全相同(简单)的名称,则您必须至少完全符合其中一个。这是Java标准行为,并以长度here(第7.5章)记录:

  

如果同一编译单元中的两个单类型导入声明尝试导入具有相同简单名称的类型,则会发生编译时错误,

Eclipse中导致删除其中一个导入的自动化是“保存操作”。这些可以在Eclipse设置中找到:

Preferences > Java > Editor > Save Actions > "Organize Imports"

如果您手动添加两个import语句,然后完全限定其中一个类,则相应的import语句是多余的,因此会被“Organize Imports”删除。

答案 1 :(得分:1)

如果您在类中使用了Components中的一个完全限定名称,那么顶部的import语句是多余的,eclipse将摆脱它(它是“组织导入”您可以选择选项作为保存操作。

这基本上是为了让您的代码更清晰,更小。