【发布时间】:2014-10-23 21:38:41
【问题描述】:
如果您选择 IStructuredSelection 项目,使用 .toArray() 来获取它们的 Object[]-content,那么为什么将每个 Object 转换为 IAdaptable 然后再次转换为 IJavaProject 对我来说很好,我得到了所有类/接口及其方法....
但是当使用 (IJavaProject) adaptable.getAdapter(IJavaProject.class) 时,一些接口方法会丢失?
适配器到底做了什么(除了“返回一个作为给定类参数实例的对象......”)以及为什么每个人都建议使用它而不是强制转换?这是相关代码
IAdaptable adaptable = (IAdaptable) selectedObject;
IJavaProject javaProject = (IJavaProject) adaptable.getAdapter(IJavaProject.class);
final IProject iProject = javaProject.getProject();
iProject.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
final IJavaProject javaRefreshedProject = JavaCore.create(iProject);
//processing further using ASTParser and CompilationUnit
【问题讨论】:
标签: java eclipse casting eclipse-plugin adapter