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));
}
`