Pages - Menu

2012-10-18

String.splitメソッドによるOutOfBoundsException

String.splitメソッドで分割すると、値を代入する配列全体が初期化される。
例えば
String[] str = {"a", "b", "c"};
String x = "abcde";
str = x.split("g", 2);
としたとき、当然文字列xには"g"は含まれない。そのため、
str[0] -> "abcde"
となる。
ところで、予め初期化しておいた配列の第2・3要素は開放されてしまうことに注意する。
つまり、参照しようとするとエラーとなる。
str[1] -> OutOfBoundsException : 1
str[2] -> OutOfBoundsException : 2
そのため、第2以降の要素を用いる場合は、ほぼ必ずstr.lengthの判定が必要ということになる。

0 件のコメント:

コメントを投稿