java - 有没有办法将 Class 转换为 IJavaElement

标签 java class

有办法做到这一点吗?或者我是否必须创建一个类并实现 IJavaElement?

最佳答案

您不能将任意类型的任何对象强制转换为任何其他任意类或接口(interface)类型。

转换(从一种非基本类型到另一种非基本类型)不会执行任何神奇的自动转换。当您将 A 类型的对象转换为 B 类型时,这意味着您告诉编译器“看,我有一些 A 类型的对象” code> 在这里,我希望您将其视为 B;不要给我类型错误,因为我更了解”。

类型检查仍然会进行,但是是在运行时而不是编译时进行。如果在运行时该对象不是 B,您将收到 ClassCastException

假设您正在谈论类java.lang.Class,那么不,您不能将其转换为IJavaElement(无论它来自何处),因为IJavaElement 不是 java.lang.Class 的父类(super class),也不是 java.lang.Class 实现的接口(interface)。如果您尝试进行转换,则在运行程序时会收到 ClassCastException

关于java - 有没有办法将 Class 转换为 IJavaElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645671/

相关文章:

c++ - 在其他类中访问和更改成员变量

php - 访问 PHP 对象中的常量

Java Hibernate 编写查询以求和列表中的值

Java首选字符串中的换行符

java - 无法通过 Web 服务方法返回 org.w3c.dom.Document

java - 实现新接口(interface)时出现 NoSuchBeanDefinitionException

java - 如何避免对库模块中的公共(public)字段进行 lint 检查?

c++ - 专门的 shared_ptr 转换 C++0x

java - 在面向 Java 开发人员的 Eclipse 中使用 .class 文件

python - 如何从类方法外部访问类方法内部的变量?