在Scala中,如果将一个变量声明为lazy,则只有在第一次使用该变量时,变量对应的表达式才会被计算。
这种特性对于特别耗时的计算操作特别有用。
lazy的调用并不做任何额外的开销,每一次访问lazy值的时候,都会调用一个方法,以线程安全的方式检查该值是否已经被初始化了。
lazy只能修饰val 修饰的变量
本文探讨了Scala中Lazy特性的使用,详细解释了当变量声明为Lazy时,其对应的表达式仅在首次使用时计算,这对于耗时的计算特别有效。此外,还介绍了Lazy调用的线程安全性及其实现机制。
在Scala中,如果将一个变量声明为lazy,则只有在第一次使用该变量时,变量对应的表达式才会被计算。
这种特性对于特别耗时的计算操作特别有用。
lazy的调用并不做任何额外的开销,每一次访问lazy值的时候,都会调用一个方法,以线程安全的方式检查该值是否已经被初始化了。
lazy只能修饰val 修饰的变量
332

被折叠的 条评论
为什么被折叠?