問題タブ [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>

これは私がしました:

これにより、次のエラーが生成されます。

a は?Listのタイプだと思いました。Iterable

0 投票する
3 に答える
502 参照

java - IDE 内にない実行可能 JAR 内の ClassCastException

Eclipse 以外でアプリケーションを実行する際に問題があります。IDE 内のアプリケーションで ClassCastException が発生しない場所で 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のいずれかのタイプにすることができます。次のエラーを引き起こしているのは、(A)への会話e.Handlerです。

デバッグ出力で、e.Handlerが実際にFirstOuterClass$FirstInnerClassのクラスタイプであることを確認しました。したがって、C#とJavaのキャストに違いがあるか(可能)、またはどこかで正しい構文を提供していません(可能です)。

(HashMapsの目的のように、コード全体を貼り付けなかったことをお詫びします。実際の問題を混乱させたくありません。基本的には、文字列キーと抽象Aを拡張するいくつかのクラス間のマッピングです。)

0 投票する
5 に答える
1606 参照

java - Java Generics:型キャストの問題(ClassCastException)

Javaのジェネリックオブジェクトをジェネリックオブジェクトを拡張する型に適切にキャストする方法を理解するのに問題があります。

たとえば、次のような設定があるとします。

上記のようなコードを実行すると、一貫してClassCastExceptionがスローされますが、そのようなものは完全には理解していません。上記のようなシナリオを正しく設定する方法についてのアドバイスをいただければ幸いです。つまり、params.getSubSet(...)メソッドから返されるSomeCustomMapオブジェクトをParametersオブジェクトに適切にキャストするにはどうすればよいでしょうか。

前もって感謝します!

0 投票する
1 に答える
1643 参照

java - jettyとjpaを使用したClassCastException

Jetty(7.2.0または8.0.0.M1)でjersey、guice、およびjpaに基づいてアプリケーションを実行しようとすると、JNDIを使用していなくても、次のエラーが発生します。

対応するpersistence.xmlは次のとおりです

何か案は?

0 投票する
4 に答える
13479 参照

java - スーパークラスと ClassCastException の拡張

私はオーバーライドしたい2つのメソッドを持つスーパークラスを持っています。これが私のコードです:

SomeSuperClass オブジェクトをパラメーターとして渡すコンストラクターがあり、次に何をするか:

それは正しいようですが、実行中に SomeSuperClass で java.lang.ClassCastException を取得しています。

SomeSuperClassObject を作成すると、オーバーライドされたメソッドが失われます。

キャストでは、Eclipse でエラーが発生していなくても、アプリケーションがクラッシュします。つまり、自分のメソッドで SomeSuperClass をオーバーライドして、OtherConstructor で使用する SomeSuperClass オブジェクトを取得するにはどうすればよいでしょうか? 重要な場合、このコードは 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パッケージを含まないjaxpjarファイルはありますか?

アップデート

ここで提案されているように実行しましたが、新しいエラーが発生しました。

これは、SaxParserFactoryを含む削除したjarの1つからのクラスです:(

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の断片をロードしました