2
respostas

Duvida com o substring

Bom dia, não estou entendendo o substring, as string se portam como uma array, logo possuem indices, o indice 0 seria o 'b' e o 5 '0', porem ai ja começa minha confusão, se é por indices e começa no 0 teria a palavra 'breno' no maximo 4, pois 0 até 4 = 5 caracteres, mas, se vc colocar o indice 4 vai para a letra 'n', então se entende que tem 5 indices do 0 até 5, que daria 6 caracteres e tornaria essa declaração invalida resultando em erro, pois se colocar um indice que nao existe da erro, alguem poderia me explicar isso?

c`lass A { public static void main(String[] args) { String s = "breno"; System.out.println(s.substring(0, 5)); } `

2 respostas

Pense no segundo parâmetro como um freio, onde vc quer parar.

Pense aqui comigo, seguindo seu raciocinio, se quiser pegar apenas o "b" teria que passar s.substring(0, 0) parece não fazer sentido concorda? comece e pare no mesmo lugar, portanto nesse código retorna uma string vazia

Mas o "0" nao é a posição inicial? Qual a logica por tras do substring que não consigo entender, todo array e similares funcionam de x jeito ai o substring vai e muda, ou estou enganado? numa palavra "breno", a posição zero seria "b".