带有*的Java import语句没有提取类

时间:2014-12-26 17:59:47

标签: java

(免责声明:我是Java的新手,我也读过相关的SO question。)

我有以下代码:

import org.apache.pdfbox.pdmodel.*;
...
PDFont font = PDType1Font.HELVETICA_BOLD;

但是Eclipse中无法识别PDFont类。

当我添加以下内容时:

import org.apache.pdfbox.pdmodel.font.PDFont;

挑选PDFont课程。

鉴于PDFont类位于以星号结尾的第一个import语句中指定的层次结构下,为什么需要特定的import语句?

另外,如果没有方便的文档,有没有办法在库中搜索类的位置?

1 个答案:

答案 0 :(得分:12)

The on demand import declarations are not recursive

  

按需输入类型声明允许所有可访问类型的a   根据需要导入的命名包或类型。

您的PDFont类型在包

org.apache.pdfbox.pdmodel.font

但您已尝试导入

 import org.apache.pdfbox.pdmodel.*;

org.apache.pdfbox.pdmodel不包含名为PDFont的类型。

所以,或者,您可以使用

 import org.apache.pdfbox.pdmodel.font.*;

  

此外,有没有办法搜索一个类的位置   图书馆如果没有方便的文件?

如果图书馆以.jar发布,您可以解压缩并搜索它。

大多数IDE通常都具有通过简单名称搜索类型的功能。例如,在Eclipse中,您可以使用CTRL (cmd) + SHIFT + T并键入要搜索的简单或完全限定名称(如果它在类路径上)。