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)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.