0

ここに問題を引き起こしているコードのスニペットがあります。

    idIndex = panoBuffer.indexOf("\"photo_id\":");
    System.out.println(idIndex);
    photos[i].id = panoBuffer.substring(idIndex, panoBuffer.indexOf(','));

真ん中の行はデバッグ用です。ただし、次のような出力が得られます。

253
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -240
at java.lang.String.substring(Unknown Source)
at panoramio.Panoramio.jsonToArray(Panoramio.java:248)
at panoramio.Panoramio.main(Panoramio.java:83)

必要なインデックスが明らかに 253 であるのに、-240 と表示されるのはなぜですか?

4

1 に答える 1