0

有没有办法做到这一点?还是我必须创建一个类并实现 IJavaElement?

4

1 回答 1

3

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

强制转换(从一种非原始类型到另一种非原始类型)不会进行任何神奇的自动转换。当你将一个类型的对象强制A转换为 typeB时,这意味着你告诉编译器“看,我A这里有一些类型的对象,我希望你把它当作一个B; 不要给我一个类型错误,因为我知道得更好”。

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

假设您在谈论 class java.lang.Class,那么不,您不能将其强制转换为IJavaElement(无论它来自哪里),因为IJavaElement它不是 的超类,也不是由java.lang.Class. 如果你尝试做演员,你会ClassCastException在你运行你的程序时得到一个。

于 2012-07-25T08:39:16.660 回答