JavaA2Z

KAB-studio > プログラミング > JavaA2Z > ClassCastExceptionとは

ClassCastException

日本語 型変換例外
英語 class cast exception
ふりがな くらすきゃすとえくせぷしょん
フリガナ クラスキャストエクセプション

解説

J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.lang.ClassCastException。
例外の一種。ダウンキャストした際に、キャストできないキャストしようとした場合、つまり実際のインスタンスもしくはそのスーパークラス以外のキャストしようとした場合に投げられる
RuntimeExceptionクラスサブクラスであるため、明示的catchthrows指定する必要はない。むしろ、適切なキャストすれば決して発生しない例外であり、絶対に発生しないようにしなければならない。
極論を言えば「ダウンキャストを全くわなければ決して発生しない」例外である。そもそもダウンキャストが必要な場面は少なく、ダウンキャストを多用するようなプログラムは危険とも言える。
しかし、ArrayListクラスHashMapクラスの使用、画面側とのデータの変換、フレームワークによる共通化等により必要な場合もあり、結合テスト時にClassCastExceptionが発生しまくるという「ClassCastException地獄」が起こることもある。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // ClassCastExceptionを投げます。
            Object object = new Integer( 100 );
            String string = (String)object;
        }
        catch( ClassCastException e )
        {
            // 投げられたClassCastExceptionを拾いました。
            e.printStackTrace();
            // java.lang.ClassCastException
            //     at Sample.main(Sample.java:10)
        }
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // ClassCastExceptionを投げます。
            Object object = new Integer( 100 );
            String string = (String)object;
        }
        catch( ClassCastException e )
        {
            // 投げられたClassCastExceptionを拾いました。
            e.printStackTrace();
            // java.lang.ClassCastException
            //     at Sample.main(Sample.java:10)
        }
    }
}

この単語を含むページ

「みだし」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/03/24
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。