Olá pessoal,
Estou com uma dúvida com relação ao substring. Nesse exemplo do javadoc da oracle se o índice começa com 0 e termina com 8, porque quando passamos o índice 9 ele retorna em branco?
"emptiness".substring(9) returns "" (an empty string)
Olá pessoal,
Estou com uma dúvida com relação ao substring. Nesse exemplo do javadoc da oracle se o índice começa com 0 e termina com 8, porque quando passamos o índice 9 ele retorna em branco?
"emptiness".substring(9) returns "" (an empty string)
Na documentação diz que só lança exceção se for passado um valor negativo ou maior do que o LENGTH da string e não necessariamente o index máximo.
IndexOutOfBoundsException - if beginIndex is negative or larger than the length of this String object.
[especulação] Como não tem nada naquele index, ele não devo retornar nada
Isso é oque eu consigo compreender a partir da documentação.
Olá, Paulo e Bruno!
Como o Bruno disse, a documentação diz:
IndexOutOfBoundsException - if beginIndex is negative or larger than the length of this String object.
Ou seja tem que ser maior que o tamanho da String. No exemplo que deu na documentação, emptiness tem 9 letras. Quando você usa substring(9) ele não dá erro pq é o tamanho da String, mas não tem nada para retornar.
Se você fizer substring(10), ele lança a exception.