gpt4 book ai didi

斯卡拉 : reassignment to val

转载 作者:行者123 更新时间:2023-12-02 15:55:30 26 4
gpt4 key购买 nike

我正在寻找一种方法来解决 Scala 中的以下编译错误。我正在尝试更新变量 clinSig 的值,如果 clinSig调用 method1 时为 null .

import org.joda.time.Instant 
import java.util.Calendar

class TestingClass {
method1(null)
private def method1 (clinSig : Instant) {
if (clinSig == null) {
val calendar = Calendar.getInstance()
calendar.set(2011, 0, 5, 0, 0, 0)
calendar.set(Calendar.MILLISECOND, 0)
clinSig = new Instant(calendar.getTime)
}
print(clinSig)
}
}
<小时/>
error: reassignment to val
[INFO] clinSigUpdtDtTm = new Instant(calendar.getTime)

最佳答案

方法参数是 val,因此您无法重新分配它们。您可以创建一个新的 val 并根据条件对其进行分配:

val updated = if (clinSig == null) {
val calendar = Calendar.getInstance()
calendar.set(2011, 0, 5, 0, 0, 0)
calendar.set(Calendar.MILLISECOND, 0)
new Instant(calendar.getTime)
}
else clinSig

println(updated)

关于斯卡拉 : reassignment to val,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24268134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com