Java : ArrayStoreException - API使用例
ArrayStoreException (Java SE 20 & JDK 20) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。
概要
Java の配列は、
- サブクラスの配列 → ベースクラスの配列
へと代入できます。
サブクラス( String 型) と ベースクラス( Object 型) の例で見てみましょう。
String[] strings = new String[]{"aaa", "bbb", "ccc"};
System.out.println(Arrays.toString(strings)); // [aaa, bbb, ccc]
Object[] objects = strings;
objects[0] = "XXX";
objects[1] = "YYY";
System.out.println(Arrays.toString(strings)); // [XXX, YYY, ccc]
objects 変数は Object 型の配列ですが、文字列(String) を代入することができます。
しかし、Object 型だからといって、String 以外のオブジェクトを代入することはできません。
objects 変数は String 型の配列でもあるからです。型に矛盾が発生してしまうわけですね。
そのときに発生する非チェック例外が ArrayStoreException です。
try {
objects[2] = Integer.valueOf(123);
} catch (ArrayStoreException e) {
System.out.println("ArrayStoreException! : " + e.getMessage());
}
// 結果
// ↓
//ArrayStoreException! : java.lang.Integer
ArrayStoreException については Java 言語仕様にも記載があるので、そちらもご参照ください。(英語になります)
コンストラクタ
ArrayStoreException ()
final var e = new ArrayStoreException();
System.out.println(e); // java.lang.ArrayStoreException
ArrayStoreException (String s)
final var e = new ArrayStoreException("abcde");
System.out.println(e); // java.lang.ArrayStoreException: abcde
System.out.println(e.getMessage()); // abcde
Throwableで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
「Java API 使用例 : Throwable」をご参照ください。
関連記事
- API 使用例
- Error (エラー)
- Exception (チェック例外)
- RuntimeException (非チェック例外)
- ArithmeticException (算術例外)
- ArrayIndexOutOfBoundsException
- CancellationException
- ClassCastException (キャスト例外)
- ConcurrentModificationException (並列処理例外)
- DateTimeException (日付・時刻の例外)
- DateTimeParseException (日付・時刻の解析例外)
- IllegalArgumentException
- IllegalStateException
- IndexOutOfBoundsException
- NoSuchElementException
- NullPointerException
- PatternSyntaxException
- StringIndexOutOfBoundsException
- UnsupportedOperationException
- Throwable