お知らせ
2023.12.5(Tue)
目次
こんにちは、湯本です。
先日、Javaのsplit関数を使って配列に格納したデータを1つずつ取得しようとしたところ、ArrayIndexOutOfBoundsExceptionが発生しました。わかっているようでわかっていなかったので、split関数の使い方をメモとして残します。
エラー発生時の環境は、下記の通りです。
java.lang.ArrayIndexOutOfBoundsException
split関数を使ってカンマ区切りの文字列を配列に格納後、要素の数分繰り返し処理を行った際、3回目の繰り返し処理でArrayIndexOutOfBoundsExceptionが発生しました。
// カンマ区切りの文字列 String str = "Java,PHP,,,"; // 配列に格納 String[] strArry = str.split(","); // 3回目でエラーが発生する for (int i = 0; i < 5; i++ ) { System.out.println(strArry[i]); }
// 配列に格納する際、第二引数を設定する String[] strArry = str.split(",", -1);
CSVファイルなどの読み込みで要素の数が決まっているデータを扱う際は、split関数の第二引数に負の値を設定しておくことでエラーを回避できます。
では、また。
《関連記事》