Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Reescrever o método toString

Amigos,

Quero reescrever o método toString. Neste código abaixo, terei que reescrever o toString do Java Lang correto ? Como não estou utilizando nenhuma outra classe, tenho que sobrescrever direto no java lang certo?

Tenho que jogar o @Override fora do main ?

import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class TestaColecoes {

    public static void main(String[] args) {

        //ArrayList<String> nomes = new ArrayList<String>();
        List<String> nomes = new LinkedList<String>();
        nomes.add("Mauricio");
        nomes.add("Vitor");
        nomes.add("Roberval");

        Collections.sort(nomes);

        for(String nome : nomes){
            System.out.println(nome);
        }

Vlw Vitor.

5 respostas

Oi Vitor, acho que não entendi muito bem a sua dúvida, qual método toString() você quer sobrescrever?

Oi Philippe, desculpe.

Quando chamo:

System.out.println(nome)

Ele informa o nome de cada pessoa no meu Array. Eu só gostaria de alterar o toString, de forma que mostre o nome e a posição no array. Mas fazendo isso pelo toString. Eu podia criar um for, varrer o array e mostrar o nome pelo main.

Assim por exemplo. Eu so gostaria jogar esse for no toString, para mostrar os nomes com a posição do array.

          for(int i = 0; i < nomes.size() ; i++){
            System.out.println(i + ": " + nomes.get(i));
solução!

Oi Vítor! Não é possível sobrescrever o método toString da String, pois é uma biblioteca interna do Java

A melhor forma pra você fazer isso, seria usando o código do seu segundo post, com o for e imprimindo o i junto com a string

Philippe, blz ! obrigado