为什么java子串不崩溃?

Ana*_*oly -1 java string substring

String s1 = "t";
System.out.println(s1.substring(1));
Run Code Online (Sandbox Code Playgroud)

它什么都没打印,但我想知道为什么它不会崩溃,它肯定是超出范围的例外或者我错过了什么?

Hyp*_*cle 6

根据http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#substring(int)

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

在这里,你的字符串长度为1,你的索引是1,它不是负数=>没有抛出异常.

有点不直观?是.但是substring()在索引选择方面有点不直观:-)