Metodo insert da classe StringBuilder[RESOLVIDO]

Boa noite pessoal!!!

Sou novo aqui no forum e em java e gostaria de tirar uma duvida.

Procurei ja no doc do site da sun, mas ainda nao ficou mto claro pra mim, o que exatamente faz o metodo insert da classe StringBuilder? Vou postar o codigo completo para vcs entenderem melhor minha duvida.

class Mutate {
	public static void main(String [] args) {
		StringBuilder s = new StringBuilder("012345678 ");
		if (s.length() == 10)
			s.insert(10, "abcdef");
		s.delete(3,8);
		System.out.println(s.indexOf("c"));
	   
	}
	
}

Neste caso, o que exatamente ele esta fazendo?

Desde ja agradeço a atenção de todos!

Att,
Thiago Nogueira

cria o StringBuilder, e considerando que o indice começa de zero, então o ultimo indice, que é do espaço em branco, será 9, mas o size dela será 10

StringBuilder s = new StringBuilder("012345678 ");

aqui insere “abcdef”, depois do ultimo indice do StringBuilder, que é o indice 10

s.insert(10, "abcdef"); 

e aqui elimina o 3,4,5,6,7 visto que eles estão no intervalo [3,8], e lembrando que ele elimina de 3 até 8-1

s.delete(3,8);

e aqui, simplesmente imprime o indice da primeira ocorrencia da substring passada como argumento

System.out.println(s.indexOf("c"));

Josemar!!! Obrigado cara.

Entendi perfeitamente.

Vlw…abraços

[quote=Josemar Jobs]cria o StringBuilder, e considerando que o indice começa de zero, então o ultimo indice, que é do espaço em branco, será 9, mas o size dela será 10

StringBuilder s = new StringBuilder("012345678 ");

aqui insere “abcdef”, depois do ultimo indice do StringBuilder, que é o indice 10

s.insert(10, "abcdef"); 

e aqui elimina o 3,4,5,6,7 visto que eles estão no intervalo [3,8], e lembrando que ele elimina de 3 até 8-1

s.delete(3,8);

e aqui, simplesmente imprime o indice da primeira ocorrencia da substring passada como argumento

System.out.println(s.indexOf("c"));

Desculpe-me caso eu entendi errado, mas ele não elimina as posições no insert, somente jogas x casas a frente, exemplo:

[code]builder.append(“a”);
builder.append(“b”);
builder.append(“c”);
builder.append(“e”);

int position = builder.indexOf(“e”);
builder.insert(position, “d”);

System.out.println(builder.toString()); // imprime abcde[/code]

Edit: esqueci o que eu disse, total falta de atenção -.-"
Pra não fica devendo também apresento o método replace(), onde é definido da mesma forma que o delete, informando posição de começo e de fim, porém com um argumento a mais que é a String que deve-se ser utilizada no lugar desses caracteres, essa String não precisa ter o mesmo tamanho que a quantidade que vai ser trocada, exemplo:

[code]builder.append(“a”);
builder.append(“b”);
builder.append(“c”);
builder.append(“e”);

builder.replace(1, 3, “0123”);

System.out.println(builder.toString()); // imprime a0123e[/code]

Sorry :~