Maybe Sun/Oracle have it wrong? ;)

"The substring begins at the specified beginIndex and extends to the character at index endIndex - 1".