为什么Eclipse在使用@See引用它时会导入一个类

时间:2011-04-18 15:19:44

标签: java eclipse javadoc

为什么Eclipse为Javadoc @see注释的目标类添加导入?

如果你通过findbugs或PMD运行它,他们会抱怨它是一个未使用的导入。

哪个是正确的?我个人不明白为什么eclipse想要导入它。

 import java.util.List;
 /**
 * @see List
 */

“link”

也是如此
 import java.util.List;
 /**
 * {@link List}
 */

有没有任何想法?

4 个答案:

答案 0 :(得分:8)

了解import语句的重要一点是,它们只是开发人员避免在任何地方使用Type的完全限定名称(FQN)的便利机制。例如,只需使用简单名称java.util.List而不是在任何地方使用List,导入java.util.List即可让您引用它。

导入对生成的字节码的效率或大小有 no 影响,因为它们的使用如上所述,并且它们不会导致任何类与您的类“链接”或类似的类。

对于JavaDoc注释,如果使用FQN,则无需导入Eclipse即可解析Type引用。实际上,您使用的是简单的名称,因此Eclipse会导入相应的Type

答案 1 :(得分:2)

我不了解Eclipse,但如果您没有在{@link}@see标记中写入全名,则Javadoc需要导入。所以你可以试试

@see java.util.List

代替。

答案 2 :(得分:1)

Eclipse执行此操作的唯一原因是,在查看源代码时,您可以执行命令单击(ctrl +单击)并导航到@see中的类。

否则您的班级名称将没有上下文。唯一的其他解决方法是提供完整的上下文路径。 (以及包名称)。

答案 3 :(得分:0)

未使用的导入是Java编译器不需要的导入。

所以PMD对于标记它是正确的。