Java の
ArrayStoreException は、互換性のない配列にオブジェクトを格納しようとしたときにスローされる実行時例外です。この記事では、ArrayStoreExceptionの原因と回避方法、対処法について詳しく解説します。
Java の配列は、指定された型の要素を格納するために使用される固定サイズのコンテナーです。互換性のない型の要素を配列に追加しようとすると、ArrayStoreException がスローされます。
たとえば、次のコードは整数の配列を作成し、その配列に文字列を格納しようとします:
int[] arr = new int[5]; arr[0] = "hello";
これにより、格納しようとしているため ArrayStoreException 例外がスローされます。文字列を整数配列に変換します。
String[] arr = new String[5]; arr[0] = "hello";この時点で、文字列を文字列配列に保存しようとします。 t ArrayStoreException をスローします。
try { int[] arr = new int[5]; arr[0] = "hello"; } catch(ArrayStoreException ex) { System.out.println("Caught ArrayStoreException: " + ex.getMessage()); }この場合、ArrayStoreException 例外がキャッチされ、例外メッセージが出力されます。 さらに、instanceof 演算子を使用してオブジェクトの型をチェックし、ArrayStoreException のスローを回避できます。たとえば、次のコードは Object 型の配列を作成し、その配列に文字列を格納します。保存する前に、オブジェクトの型に互換性があるかどうかを確認します。
Object[] arr = new Object[5]; if("hello" instanceof String) { arr[0] = "hello"; } else { // handle error }この場合、instanceof 演算子を使用して、文字列が互換性のある型であるかどうかを確認します。互換性のある型の場合、文字列が保存されます。それ以外の場合は、エラーを処理するか例外をスローできます。
以上がJava で ArrayStoreException に対処するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。