JavaA2Z

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

ArrayStoreException

日本語 配列代入例外
英語 array store exception
ふりがな あれいすとあえくせぷしょん
フリガナ アレイストアエクセプション

解説

J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.lang.ArrayStoreException。
例外の一種。
配列に誤った要素代入しようとした時に投げられる
ただし、単に「配列に誤った要素代入しよう」とした時には、コンパイルエラーとなる。例外投げられるのは、サブクラス配列への参照を、スーパークラス配列参照変数代入した場合、つまり「配列アップキャスト」した場合である。この場合、代入時にもアップキャストわれるため、コンパイルエラーは発生しないが、が異なるため、実時にArrayStoreException例外投げられることになる。
ArrayStoreException例外は「配列ClassCastException」と言える。
 
RuntimeExceptionクラスサブクラスであるため、明示的catchthrows指定する必要はない。

参考サイト


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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // たとえば、Stringクラスの配列に、
            // Integerクラスを要素として入れると、
            // コンパイルエラーになります。
            String[] strings = new String[1];
            // strings[0] = new Integer( 0 );
            // コンパイルエラー:
            // 型の不一致: Integer から String には変換できません。

            // ところが、ポリモーフィズムを使って
            // 「スーパークラスの配列」に入れてしまうと、
            // コンパイルのチェックが通ってしまいます。
            Object[] objects = strings;
            objects[0] = new Integer( 0 );
        }
        catch( ArrayStoreException e )
        {
            e.printStackTrace();
            // java.lang.ArrayStoreException
            //    at Sample.main(Sample.java:20)

            // と、この場合はコンパイルエラーではなく
            // ArrayStoreException例外が投げられるわけです。
        }
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // たとえば、Stringクラスの配列に、
            // Integerクラスを要素として入れると、
            // コンパイルエラーになります。
            String[] strings = new String[1];
            // strings[0] = new Integer( 0 );
            // コンパイルエラー:
            // 型の不一致: Integer から String には変換できません。

            // ところが、ポリモーフィズムを使って
            // 「スーパークラスの配列」に入れてしまうと、
            // コンパイルのチェックが通ってしまいます。
            Object[] objects = strings;
            objects[0] = new Integer( 0 );
        }
        catch( ArrayStoreException e )
        {
            e.printStackTrace();
            // java.lang.ArrayStoreException
            //    at Sample.main(Sample.java:20)

            // と、この場合はコンパイルエラーではなく
            // ArrayStoreException例外が投げられるわけです。
        }
    }
}

この単語を含むページ

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

「解説」に含まれているページ

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

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