有办法做到这一点吗?或者我是否必须创建一个类并实现 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/