更好地声明具有生成值的常量



在 Kotlin 中什么声明会更好,为什么?

Key这里总是相同的值

private val key: ByteArray by lazy {
byteArrayOf(some static bytes)
}

private val key = byteArrayOf(some static bytes)

如果静态字节相同,添加一个惰性委托不会给你带来任何东西。如果正在计算的值需要一些计算工作(时间和/或空间(,或者在某些情况下可能不需要,则 Lazy 很有用。因此,您只想在真正需要时才初始化它,而不是每次都初始化它。

事实上,如果您每次都需要它,添加惰性委托只会增加开销。我会做最简单的事情,只有当我发现懒惰的代表通过基准测试或测试有所帮助时,我才会去找懒惰的代表。

TLDR:坚持直接初始化数组,除非你不是每次都需要它,并且它需要大量的资源来创建。

最新更新