簡體   English   中英

更改Scala惰性val行為

[英]Changing Scala lazy val behaviour

假設我有一個String類型的lazy val:

Class LazyVals { 

     lazy val message = "I am lazy on + " + System.currentTimeMillis().toString    

     def changeLazy = { message + " Not!!" }
    }

changeLazy是否會更改消息的“僅評估一次”性質?

計算message代碼將只評估一次。 您無法更改此行為。

currentTimeMillis將僅被調用一次。 串聯message + " Not!!" 將對每個changeLazy調用執行,結果相同,但是可以通過jvm進行優化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM