Olá Murilo!
A decisão de deixar um atributo nulo ou vazio depende do contexto da sua aplicação. Vou te dar alguns exemplos para te ajudar a entender melhor:
Deixar um atributo nulo: Isso pode ser útil quando você tem um atributo opcional, ou seja, ele pode ou não ter um valor. Por exemplo, se você está criando uma classe para representar um endereço, o complemento pode ser um atributo opcional, pois nem todos os endereços possuem complemento. Nesse caso, você pode definir o atributo como var complemento: String? = null
. Assim, quando o complemento não for informado, ele será nulo.
Deixar um atributo vazio: Isso pode ser mais adequado quando você precisa que o atributo tenha um valor, mas ele ainda não foi definido. Por exemplo, se você está criando uma classe para representar um formulário de cadastro, o estado pode ser um atributo obrigatório, mas você ainda não tem essa informação. Nesse caso, você pode definir o atributo como var estado: String = ""
. Assim, quando o estado não for informado, ele será vazio.
Quanto à sua pergunta sobre qual é mais comumente utilizado, isso pode variar de acordo com a situação. Em geral, é mais comum utilizar atributos nulos quando eles são opcionais e atributos vazios quando eles são obrigatórios. No entanto, é importante considerar o contexto da sua aplicação e as necessidades do seu código.
É verdade que deixar um atributo inicialmente nulo aumenta a chance de ocorrer um NullPointerException
, mas o Kotlin possui mecanismos para evitar esse tipo de erro. Por exemplo, você pode usar o operador de chamada segura (?.
) para acessar propriedades de um objeto que pode ser nulo, evitando assim o NullPointerException
. Além disso, o Kotlin também possui o operador de assertiva de não nulo (!!
), que permite que você assuma a responsabilidade de que um objeto não é nulo em um determinado ponto do código.
Espero ter esclarecido suas dúvidas! Se tiver mais alguma pergunta, é só me dizer. Espero ter ajudado e bons estudos!