在Kotlin中哪种声明会更好,为什么?
Key
始终是相同的值
private val key: ByteArray by lazy {
byteArrayOf(some static bytes)
}
或
private val key = byteArrayOf(some static bytes)
答案 0 :(得分:3)
如果静态字节相同,则添加懒惰的委托不会给您带来任何好处。如果要计算的值需要一定的计算量(时间和/或空间),或者在某些情况下可能不需要,则惰性是有用的。因此,您只想在真正需要时进行初始化,而不是每次都进行初始化。
实际上,如果您确实每次都需要它,那么添加懒惰的委托只会增加开销。我会做最简单的事情,只有在发现懒惰的代表可以通过基准测试或测试帮助的情况下,才去参加。
TLDR:坚持直接初始化数组,除非您每次都不需要它并且需要大量资源来创建。