1
resposta

Validação de campo no próprio construtor?

É realmente uma boa prática colocar a validação do endereço assim, direto no construtor? Não seria melhor criar um setEndereco que faz essa validação, e chamá-lo no construtor?

    public Email(String endereco) {//expressao regular pra fazer validacao:
        if(endereco == null || !endereco.matches("")) {
            throw new IllegalArgumentException("Email inválido.");
        }
        this.endereco = endereco;
    }
1 resposta

Oi Sabrina,

Sim, é uma boa prática pois esse é o objetivo do construtor, inicializar a construção de um objeto num estado válido.

Daria para fazer via método setter, como você mencionou, mas eu particularmente prefiro no construtor, que é mais comum de se ver nos projetos.

Bons estudos!