起始索引和结束索引都超出范围,但substring方法仍然适用于Java

时间:2015-08-26 14:09:36

标签: java

我尝试了代码"a".substring(1, 1)并且没有抛出异常。但是起始索引是1,它大于0,并且因为起始索引是包含的,所以不应该抛出异常吗?

同样,"".substring(0, 0)也不会崩溃,即使0应该超出空字符串的范围。

1 个答案:

答案 0 :(得分:10)

根据方法的文件:

  

抛出:   IndexOutOfBoundsException - 如果beginIndex为负或大于此String对象的长度。

你的字符串的长度是1而不是0,所以它不会抛出和异常。