Tiberio
Agosto 18, 2010, 12:21pm
#1
Bom galera, estou sobreescrevendo o meu metodo toString(), mas nao sei bem como faze-lo, o que eu quero é o seguinte.
Estou imprimindo uma ArrayList, portanto a impressao fica entre [] e separada por ‘,’.
O que eu quero, é que quando eu chame o toString(), ele imprima como se fosse um string, sem os [] e os ,.
Eu imaginei em usar uns replaces, mas nao sei que objeto que é enviado para o toString, para eu dar replace.
Abraços.
Puka
Agosto 18, 2010, 12:30pm
#2
Manda ai o codigo do metodo
Fala ai Tiberio,
coloca a tua classe aqui para a gente dar uma solução melhor para seu problema.
Abração 8)
Max
Tiberio
Agosto 18, 2010, 12:41pm
#4
pegaRetorno = arquivoNoArray.subList(iteradorDoArray, finalDoIterador);
escreveraNoArquivo = pegaRetorno.toString();
iteradorDoArray = finalDoIterador;
System.out.println(escreveraNoArquivo);
Se eu tenho por exemplo uma lista [4, 3, 2, 1] e:
iteradorDoArray = 1 e o finalDoIterador = 3
pegaRetorno recebe [3, 2, 1]
e quando eu do o system.out, ele imprime [3, 2, 1]
Mas eu desejava que ele imprimisse: 321
Abraços
Você pode criar uma classe sua que herde de list e nela sobrescrever o método toString()… Nunca fiz isso mas acho que funciona…
Como eu faria isto ? nao entendi muito bem…
EDITANDO:
Eu consegui fazer, soh que sem dar Override no toString, eu usei o
for ( String s:array )
System.out.println(s);
Outra opção é fazer assim:
import java.util.ArrayList;
import java.util.List;
/**
*
* @author f6036477
*/
public class MyList <E> extends ArrayList<E> {
public String toString() {
StringBuffer s = new StringBuffer(this.size());
for(E e : this)
s.append(e.toString());
return s.toString();
}
public static void main(String[] args)
{
List l = new MyList();
l.add(4);
l.add(3);
l.add(2);
l.add(1);
System.out.println(l.toString());
}//main
}