Vários ifs encadeados

Ola boa tarde a todos, estou querendo um conselho tenho um código que faz comparação de vários campos de um objeto se for nulo ele pega os dados de outro objeto se não ele mantem o valor digitado pelo usuário o código é o seguinte

public void setAdicionarAreasEnvolvidas(){
		if(portfolio.getDescricao() == null){
			portfolio.setDescricao(portfolioEvolucao.getDescricao());
		}
		if(portfolio.getAbrangencia() == null){
			portfolio.setAbrangencia(portfolioEvolucao.getAbrangencia());
		}
		if(portfolio.getEstrategico() == null){
			portfolio.setEstrategico(portfolioEvolucao.getEstrategico());
		}
	}

A minha solução é essa, mas está muito feia queria ver se alguém tem um jeito melhor para se fazer está comparação.

Por que eles retornam null?

Em campos de texto, ao invés de gravar nulo, grave uma String vazia: “”

Isso vai tornar o if desnecessário.

Campos numéricos também podem usar o valor “0”, que representa o vazio.

Você só vai testar contra null se realmente precisar de um valor default.

PS: Sempre é possível criar alguns métodos auxiliares também:

[code]public String noNulls(String field) {
if (field == null) return “”;
return field;
}

public int noNulls(Integer field) {
if (field == null) return 0;
return field;
}
[/code]

E usa-lo assim:

portfolio.setDescricao(noNulls(portfolioEvolucao.getDescricao())); portfolio.setAbrangencia(noNulls(portfolioEvolucao.getAbrangencia())); portfolio.setEstrategico(noNulls(portfolioEvolucao.getEstrategico()));

Vlwww mesmo pela resposta acho que isso vai resolver o meu problema. Vou verificar aqui não tinha pensado nessa hipótese.
Eles retornam null porque o valor aparece assim quando o usuário não preenche o campo.
Agradecido.