Qual é o propósito, respectivamente o objetivo, de uma propriedade preguiçosa?
Documentação em linguagem Kotlin: https://kotlinlang.org/docs/delegated-properties.html#lazy-properties
Economizando memória? Ou é outra coisa?
Qual é o propósito, respectivamente o objetivo, de uma propriedade preguiçosa?
Documentação em linguagem Kotlin: https://kotlinlang.org/docs/delegated-properties.html#lazy-properties
Economizando memória? Ou é outra coisa?
Poderia um ou mais de vários fatores relacionados:
O valor pode ocupar muita memória para armazenar, como você sugere.
O valor pode levar tempo/esforço significativo para ser gerado (como carga de CPU e/ou chamadas para serviços externos).
O valor pode ficar desatualizado.
Talvez não seja possível gerar o valor até que a instância tenha sido construída (e talvez depois de alguma configuração pós-construção).
Algumas dessas razões são puramente relacionadas à eficiência. Para esses, você precisaria considerar fatores como a probabilidade de o valor ser necessário, quanto tempo pode levar para ser gerado, se um atraso na construção é mais ou menos importante do que um atraso quando o valor é usado pela primeira vez , e assim por diante.
Mas outras razões podem afectar se e como o programa é executado e, portanto, para estas, a preguiça pode ser uma necessidade.
De qualquer forma, ter uma maneira fácil, concisa e robusta de implementar propriedades preguiçosas é uma adição muito útil ao Kotlin. (Especialmente porque isso pode ser feito na biblioteca padrão, sem afetar a linguagem em si.)