有没有办法将类强制转换为IJavaElement

有没有办法将类强制转换为IJavaElement,java,class,Java,Class,有办法做到这一点吗?或者我必须创建一个类并实现IJavaElement吗?您不能将任意类型的对象强制转换为任何其他任意类或接口类型 强制转换(从一个非基本类型转换为另一个非基本类型)不会进行任何神奇的自动转换。当您将A类型的对象强制转换为B类型时,意思是您告诉编译器“看,我这里有一个A类型的对象,我希望您将其视为B;不要给我类型错误,因为我知道得更清楚” 类型检查仍将在运行时而不是编译时进行。如果在运行时,对象不是B,您将得到ClassCastException 假设您谈论的是类java.lan

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

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

强制转换(从一个非基本类型转换为另一个非基本类型)不会进行任何神奇的自动转换。当您将
A
类型的对象强制转换为
B
类型时,意思是您告诉编译器“看,我这里有一个
A
类型的对象,我希望您将其视为
B
;不要给我类型错误,因为我知道得更清楚”

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


假设您谈论的是类
java.lang.class
,那么不,您不能将其转换为
IJavaElement
(无论其来自何处),因为
IJavaElement
既不是类的超类,也不是由
java.lang.class
实现的接口。如果您尝试执行强制转换,则在运行程序时将得到一个
ClassCastException

您无法将任意类型的任何对象强制转换为任何其他任意类或接口类型

强制转换(从一个非基本类型转换为另一个非基本类型)不会进行任何神奇的自动转换。当您将
A
类型的对象强制转换为
B
类型时,意思是您告诉编译器“看,我这里有一个
A
类型的对象,我希望您将其视为
B
;不要给我类型错误,因为我知道得更清楚”

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


假设您谈论的是类
java.lang.class
,那么不,您不能将其转换为
IJavaElement
(无论其来自何处),因为
IJavaElement
既不是类的超类,也不是由
java.lang.class
实现的接口。如果您尝试执行强制转换,您将在运行程序时得到一个
ClassCastException

Class
类型的对象强制转换为
IJavaElement
?将
Class
类型的对象强制转换为
IJavaElement
?谢谢。IJavaElement来自EclipseJDT。但若类A实现了接口呢。然后你得到一个.getClass()instanceof接口,这应该可以正常工作吗?废话。instanceof接口可以工作,但.getClass()不行。谢谢,我相信可以。IJavaElement来自EclipseJDT。但若类A实现了接口呢。然后你得到一个.getClass()instanceof接口,这应该可以正常工作吗?废话。instanceof接口将起作用,但.getClass()不起作用。