问题标签 [classcastexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4348 浏览

java - Java:从 X 到 Y 的未经检查的强制转换/如何实现 castOrNull

我已经实现了这个功能:

这给了我编译器警告:

我不太明白。try/catch我在这里做的不是检查吗?我可以忽略警告吗?

我的功能会按预期工作吗?我将如何正确实施它?

我也尝试过obj instanceof Y检查,但由于 Java 处理泛型的方式,它不起作用。

顺便说一句,这个函数对我来说似乎很有用(使其他一些代码更干净)。我想知道Java中是否已经存在这样的功能?


我想使用它的一个例子:

我的代码中经常出现这样的情况。而且我认为这比其他任何东西都更具可读性和简单性。但是,如果您有任何关于如何使该代码更简单的建议,请给我一个更好的建议。

0 投票
10 回答
42817 浏览

java - “可迭代不能强制转换为列表" - `List` 不是 `Iterable` 的一种吗?

我调用了一个getElements返回的方法Iterable<Element>

我这样做了:

这会产生错误:

我以为 aList是一种Iterable

0 投票
3 回答
502 浏览

java - 可执行 JAR 中的 ClassCastException 不在 IDE 中

我在 Eclipse 之外运行我的应用程序时遇到问题。它在 IDE 中的应用程序没有的地方给出 ClassCastException。特别是,我向终端输出我要转换的实例的名称,并且在 IDE 内部它给出了正确的类型,例如“NestedEngineImpl”,而在 IDE 外部它给出了“EngineImpl”,但 EngineImpl 不能转换为 NestedEngineImpl . NestedEngineImple 扩展了 EngineImpl。可执行 jar 是使用 Eclipse 的 Export Runnable JAR 文件创建的。jar 打开并运行直到异常点。

任何建议将不胜感激。

0 投票
2 回答
3941 浏览

java - 是否可以将类型转换为父抽象类?

我正在将 C# 项目移植到 Java 中。我有一段看起来像这样的代码:

然后,在别处……

更远的地方...

最后,在其他地方甚至更多......

e.Handler 可以是 FirstInnerClass 或 SecondInnerClass 类型。正是 e.Handler 与 (A) 的对话导致了以下错误:

我已经通过调试输出验证了 e.Handler 确实是 FirstOuterClass$FirstInnerClass 的类类型。因此,要么 C# 和 Java 之间的转换存在差异(可能),要么我没有在某处提供正确的语法(也可能)。

(我很抱歉没有粘贴整个代码,就像 HashMaps 的用途一样。我不想混淆真正的问题。基本上它是一个字符串键和几个扩展抽象 A 的类之间的映射。)

0 投票
5 回答
1606 浏览

java - Java 泛型:类型转换问题 (ClassCastException)

我无法弄清楚如何正确地将 java 中的泛型对象转换为扩展泛型对象的类型。

例如,假设我有如下设置:

运行与上述类似的代码始终会引发 ClassCastException,我并不完全理解。对于如何正确设置与上述类似的场景的任何帮助,我们将不胜感激!即,我如何正确将从 params.getSubSet(...) 方法返回的 SomeCustomMap 对象转换回参数对象?

提前致谢!

0 投票
1 回答
1643 浏览

java - 码头和 jpa 的 ClassCastException

当我尝试在码头(7.2.0 或 8.0.0.M1)上基于 jersey、guice 和 jpa 执行我的应用程序时,即使我不使用 JNDI,我也会收到以下错误。

这里是对应的persistence.xml

有任何想法吗?

0 投票
4 回答
13479 浏览

java - 扩展超类和 ClassCastException

我有一个超类,我想重写这两个方法。这是我的代码:

我有一些构造函数,将 SomeSuperClass 对象作为参数传递,接下来我要做什么:

这似乎是正确的,但我在执行时在 SomeSuperClass 中得到 java.lang.ClassCastException 。

如果我创建 SomeSuperClassObject,我会丢失我的重写方法。

使用强制转换,即使 eclipse 中没有错误,应用程序也会崩溃。换句话说,我如何用我自己的方法覆盖 SomeSuperClass,并且仍然让 SomeSuperClass 对象与 OtherConstructor 一起使用?如果它很重要,则此代码适用于 android 应用程序。

0 投票
2 回答
19760 浏览

java - 类转换异常:com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl

我对 jboss 中的一个问题感到震惊。当我尝试将我的 .war 部署到服务器时,我收到以下错误,

java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserF actoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory

由此,很明显图书馆之间存在冲突。因此,我删除了 jaxp-ri-1.4.1.jar 发生的包含 xerces 的 jar 文件。现在,当我尝试重新部署时,我收到了这个新错误,

它抱怨它找不到 xml 解析器。

所以,现在我的问题是,有没有人知道什么可以解决。任何不包含 xerces 包的 jaxp jar 文件?

更新

我按照这里的建议做了,现在我有一个新错误,

这是我删除的其中一个 jar 中的一个类,其中包含 SaxParserFactory :(

0 投票
1 回答
8761 浏览

android - android.app.Application 的 android classcastexception

运行以下应用程序时出现以下异常

活动:

应用:

显现:

0 投票
1 回答
2076 浏览

classloader - 在 Jetty-7.1.6.v20100715 中获取 X509Certificate 时引发 ClassCastException

我写的过滤器抛出 ClassCastException

[Ljava.security.cert.X509Certificate; 无法转换为 java.security.cert.X509Certificate

当我尝试投射从 ServletRequest 属性中提取的对象时,即

随着我深入挖掘,我了解到像这样的异常很可能是由不同的类加载器引起的,尽管它们属于相同的类类型。我该如何解决这个问题?

谢谢

我使用以下 Spring 3 配置来加载 Jetty 7 零碎