Java 访问IType的导入声明

Java 访问IType的导入声明,java,eclipse,eclipse-jdt,Java,Eclipse,Eclipse Jdt,使用getSource(),是否有一种很好的方法可以访问IType的导入声明,而无需手动搜索可以作为字符串获得的源代码 示例: 如果IType是源文件中的这个Java类: import java.util.Arrays; import java.util.HashSet; import java.util.LinkedList; public class MyClass { // some content } 我想检索[java.util.Arrays,java.util.Hash

使用
getSource()
,是否有一种很好的方法可以访问IType的导入声明,而无需手动搜索可以作为
字符串
获得的源代码

示例: 如果IType是源文件中的这个Java类:

import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedList; 

public class MyClass {
    // some content
}

我想检索
[java.util.Arrays,java.util.HashSet,java.util.LinkedList]
。导入的类型是以字符串、IType还是其他形式检索对我来说并不重要。

在JDT的各种模型中,Java模型(其中
IType
是其中的一部分)是最轻量级的。因此,它没有你正在寻找的信息。只有AST具有此信息,可作为
CompilationUnit.imports()
获得。 有关JDT AST的介绍,请参见教程幻灯片(幻灯片31ff)


乍一看手头的任务,获取完整的AST似乎有些过分,但至少它正确地处理(跳过)了导入之前/导入之间可能出现的所有注释。

Java模型如此轻量级的优点是什么?Java模型比Java AST快吗?是的,Java模型设计用于快速处理工作区的整个内容。相比之下,AST通常一次用于一种类型。