É uma boa prática usar o Opcional como um atributo em uma classe? [duplicado
Esta pergunta já tem uma resposta aqui:
Usos para opcional 3 respostasGuava Opcional como argumento do método para parâmetros opcionais 1 resposta Li algo sobre o objetivo deOptional
(infelizmente não me lembro onde) no Java 8, e fiquei surpreso que o escritor não tenha mencionado o uso de umOptional
como um atributo em uma class
Como estou usando opcionais com bastante frequência em minhas aulas, fiquei pensando se essa é uma boa prática. Ou seria melhor usar apenas atributos normais, que retornamnull
quando não estiverem definidos?
Nota Pode parecer que minha pergunta é baseada em opiniões, mas sinto que usandoOptional
em uma classe não é realmente o caminho a seguir (depois de ler o post mencionado). No entanto, eu gosto de usá-lo e não consigo encontrar nenhuma desvantagem em usá-lo.
Exempl
Gostaria de dar um exemplo para esclarecer. Eu tenho uma aulaTransaction
, que é construído assim:
public class Transaction {
private Optional<Customer> = Optional.empty();
....
vs
public class Transaction {
private Customer = null;
....
Quando verificar umCustomer
, Acho mais lógico usartransaction.getCustomer().isPresent()
do quetransaction.getCustomer() != null
. Na minha opinião, o primeiro código é mais limpo que o segund