String s = "Hola";
System.out.println(s.substring(4));
4超出范围,但没有抛出任何错误。
为什么?
提前致谢。
答案 0 :(得分:5)
将String.substring()
的参数视为跳过的字符数。因此,在"Hola"
中跳过4个字符会产生空字符串。
"Hola".substring(0) => "Hola"
"Hola".substring(1) => "ola"
"Hola".substring(2) => "la"
"Hola".substring(3) => "a"
"Hola".substring(4) => ""
在4个字符的字符串上抛出异常的最低参数是5.
答案 1 :(得分:0)
字符串索引从0开始,而不是1。 例如,在字符串“Hola”中,
索引0将是H
索引1将是o
索引2将是l
索引3将是
请注意,没有索引4.这就是您收到错误的原因。 相反,将其更改为
System.out.println(s.substring(3));