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

[Projeto] DesafioJava: trabalhando com lambdas, streams e Spring Framework- Exercício 6

Olá!

Segue minha resolução.

  • Classe Genérica Avaliação:
public class Avaliacao <T> {

    public T avaliacao;
    public double nota;
    String comentario;

    public Avaliacao(T avaliacao, double nota, String comentario) {
        this.avaliacao = avaliacao;
        this.nota = nota;
        this.comentario = comentario;
    }

    public String getComentario() {
        return comentario;
    }

    public void setComentario(String comentario) {
        this.comentario = comentario;
    }

    public double getNota() {
        return nota;
    }

    public void setNota(double nota) {
        this.nota = nota;
    }

    public T getAvaliacao() {
        return avaliacao;
    }

    public void setAvaliacao(T avaliacao) {
        this.avaliacao = avaliacao;
    }

    @Override
    public String toString() {
        return "Avaliacao{" +
                "avaliacao=" + avaliacao +
                ", nota=" + nota +
                ", comentario='" + comentario + '\'' +
                '}';
    }
}

  • Main para rodar a aplicação:
public class Main {
    public static void main(String[] args) {

        Avaliacao avaliacao = new Avaliacao<>("Servico", 5,"Muito Bom");
        Avaliacao avaliacao1 = new Avaliacao("Produto", 3.5, "Apresentou falhas");
        System.out.println(avaliacao);
        System.out.println(avaliacao1);

    }
}
1 resposta
solução!

Oi, Victor! Como vai?

Gostei da forma como você utilizou generics na classe Avaliacao<T>, isso mostra um bom entendimento de reaproveitamento de código e tipagem flexível. Sua implementação ficou organizada, com getters, setters e toString, o que facilita bastante o uso da classe em diferentes contextos.

Uma dica interessante para o futuro é utilizar var (quando possível) para deixar o código mais limpo na criação de objetos. Veja este exemplo:


var avaliacao = new Avaliacao<>("Servico", 5.0, "Muito Bom");
System.out.println(avaliacao);

Esse código usa inferência de tipo, em que o compilador entende automaticamente o tipo da variável, deixando o código mais simples e legível.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!