|
|
1
3
嗯,事实上,不,他们没什么不同。 但是,请注意,这只是一个假设,它们也不起作用,至少不是我希望的那样。
声明属性的初始值设定项,该初始值设定项将在所属类型的构造上执行。 因此:
他一点也不懒惰。它将声明并构造一个
第二个具有完全相同的问题,您构造并立即计算懒惰对象,使其成为非懒惰对象。 正确的方法(这只能通过第一种语法形式实现)是在不使用初始值设定项的情况下使用属性,如下所示:
或者这个:
或者最好是这样:
这将声明一个getter 身体 在实际读取属性之前,不会执行该操作。 TL;博士 总而言之,您给出的两个示例没有什么不同,但它们都(可能)是错误的,您需要更改属性声明来修复它。 |
|
|
2
0
除了优秀的 answer 给予 Lasse VÃ¥gsæther Karlsen ,我想进一步推测并假设OP是在单例实现之后。这是一个完全懒惰的方法。
|
|
|
Javran · 在IO内使用读取器“-->r”的意外行为? 8 年前 |
|
|
Andrzej Gis · getLine懒惰吗? 8 年前 |
|
|
toadly · 在新的YouTube设计中看到的延迟加载样式的文本? 8 年前 |
|
|
Varun Risbud · Scala lazy val解释 8 年前 |
|
|
Shersh · 解码和来自aeson软件包的解码功能之间有什么区别? 8 年前 |
|
|
Konrad · 在自定义dplyr函数中更改结果变量的名称 8 年前 |
|
|
Michael Jones · 在这个评论中,懒惰评估的含义是什么? 9 年前 |