Javaの文字列の切り出しに関する注意点
Javaにおける文字列のトリミングで注意するべき点:
- 文字列の切り取りはインデックスベースで行われ、インデックスは0から始まる。切り取りメソッドに渡すインデックス値が文字列の有効範囲内であることを確認する。そうでないとStringIndexOutOfBoundsException例外が発生する。
- Stringクラスのsubstring()メソッドは部分文字列を指定したインデックス範囲で切り出すことができます。このメソッドには2つのオーバーロードバージョンがあり、substring(int beginIndex)とsubstring(int beginIndex, int endIndex)があります。ここで、beginIndexは切り出しの開始インデックス(含む)を表し、endIndexは切り出しの終了インデックス(含まない)を表します。
- substring()メソッドに1つの引数しか渡されない場合、指定したインデックスから文字列の末尾までの子文字列が抽出されます。
- endIndex引数は文字列の長さを超えて設定可能ですが、文字列の末尾で切り取られます。
- beginIndex と endIndex の値が等しい場合、返される部分文字列は空文字列となります。
- beginIndex の値が endIndex の値より大きい場合は、StringIndexOutOfBoundsException が発生します。
- 切り出されたサブ文字列は新しい文字列オブジェクトであり、元の文字列とは関係がありません。