ごみばこ

プログラムに関する備忘録などを書いています。

String.substringの違い

最近になってjavaを触り始めました。
文字列から特定箇所の文字を取得するsubstringメソッドがありますが、
これが以前触っていた.NET Frameworkと異なっていたのでメモ。

C#の場合

string.substring(開始位置(0~), 取得する文字数)

javaの場合

String.substring(開始位置(0~), 取得したい文字列末尾のインデックス + 1)

例えば、substring(1, 3)とするとC#では2文字目から3文字分取得出来る。
しかし、javaの場合は2文字目から次の3文字目までが返ってくる。
その為C#と同様の結果を得るには、substring(1, 4)と記述する必要がある。

さっさと公式ドキュメント見ておくべきでした。