コンテンツへスキップ
Java例外エラー
ClassCastException

ClassCastException

オブジェクトが、そのインスタンスでない型にキャストされている。

jvmandroidspring

このエラーの原因

オブジェクトの実行時の型がキャスト先の型と互換性がない。スーパークラスからのダウンキャスト時や、コレクションに複数の型が混在している場合によく発生する。

修正方法

キャスト前に instanceof でオブジェクトの型を確認する。コンパイル時の型安全性を確保するためにジェネリクスを使用する。キャストが正当であることを確認するためにクラス階層を見直す。

例

Object obj = "hello";
Integer i = (Integer) obj;
公式ドキュメント

関連するエラーコード