Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Porque o toString foi ignorado?

Fiz essa classe auxiliar: (tem os setters tb mas removi para nao ficar extenso)

public class Colaboradores {
    private String nome;
    private String cargo;
    private String nivelDeAcesso;

    public Colaboradores(String nome, String cargo, String nivelDeAcesso) {
        this.nome = nome;
        this.cargo = cargo;
        this.nivelDeAcesso = nivelDeAcesso;
    }
@Override
    public String toString() {
        return  "\nNome: " + nome +
                "\nCargo: " + cargo +
                "\nNivel De Acesso:'" + nivelDeAcesso;
    }

Mas nao entedi o motivo pelo qual o toString foi ignorado na main:

Colaboradores Julia = new Colaboradores("Julia","Junior", "1");
        System.out.println("Antes da atualização:");
        Julia.toString();

        Julia.setCargo("Pleno");
        Julia.setNivelDeAcesso("2");

        System.out.println("Após a atualização: ");
        Julia.toString();

Quando rodo no terminal o Julia.toSTring é ignorado em ambos os casos, mas não entendi o motivo!

1 resposta
solução!

Olá, Guilherme, como vai?

O método toString não foi ignorado. Ele está sendo executado, mas o retorno dele não está sendo usado em lugar nenhum. O método toString apenas devolve uma String. Quando você chama Julia.toString(); sozinho, essa String é criada e descartada, sem aparecer no terminal.

Para que o conteúdo apareça no console, é necessário imprimir o valor retornado, usando o System.out.println, por exemplo. Quando você passa um objeto para o println, o Java chama o toString automaticamente, então você poderia fazer System.out.println(Julia); logo após criar o objeto. Nesse caso, o Java chama o toString internamente e imprime o texto retornado.

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado