【发布时间】:2013-12-30 18:41:31
【问题描述】:
我正在尝试调试涉及 Java 中的 ClassCastException 的问题。为了解决这个问题,我需要知道当我从 Object 转换为特定类型时发生了什么。 谁能向我解释一下 Java cast 运算符在 Java 级别和 JVM 级别是如何工作的?
【问题讨论】:
-
你能举一个发生这种情况的例子吗?比如具体的类型是什么类,对象是什么类?
-
亚当,我可能会问一个后续问题。本质上,我正在从“com.generic.MyType”类型的 Spring 创建一个 bean,但它无法转换为 (MyType)。我认为这可能是 Spring 问题而不是 Java 问题,但我正在努力做到彻底。
-
@nemo:我知道这很明显,但是在源代码中,您是否在顶部将 MyType 导入为 com.generic.MyType?或者您是否导入了多个包(import org.generic.*; import org.other.*;),其中可能包含多个名为 MyType 的类,而编译器可能选择了错误的类?
-
@Adam,实际上我没有为 cast 类型导入,如果我导入它,Netbeans 说它是未使用的。但是,该错误特别不能转换为 com.generic.MyType。如果我无法取得任何进展,我可能会在今天晚些时候发布带有一些真实细节的问题,我会在这里给你一个链接。
-
@nemo:请做;我们或许可以通过这种方式为您提供更多帮助。