Scala的懒值以及使用

Scala懒值

Scala的懒值,是指一个变量在创建的时候,不会真的运行创建这个变量的代码,而是在第一次使用的时候,才会去运行这个创建这个变量的代码,取其值。
使用lazy 进行声明,且只能声明 val这种不可变的常量

lazy val file= scala.io.Source.fromFile("/src/test.scala")
println(file.getLines().szie) 

file在执行第一段代码的时候不会运行,不会真的创建。
只有在下面打印的时候才会真的创建。

可以将懒值当成是介于val和def的中间状态:

  1. val在被定义时即被取值
  2. lazy val在首次使用时被取值
  3. def在每次使用时取值

懒值的意义与缺点:

  1. 如果变量初始化耗时,则可以用lazy加以声明,用到的时候才进行初始化
  2. 构造顺序问题,创建子类对象时,父类中的变量需要用到子类的变量,则需要用lazy对父类中的变量加以声明
  3. 缺点:每次使用前都会检查是否已经初始化,会有额外的开销
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值