gpt4 book ai didi

Scala案例类更新值

转载 作者:行者123 更新时间:2023-12-03 11:06:12 25 4
gpt4 key购买 nike

我有一个包含 2 个 String 成员的案例类。我想稍后更新第二个成员,所以首先我用 String 和 None 创建一个实例,然后我将数据加载到类中,并想用一些值更新第二个成员。

我该怎么做?

最佳答案

定义案例类,以便第二个成员是 var :

case class Stuff(name: String, var value: Option[String])

现在您可以创建 Stuff 的实例并修改第二个值:
val s = Stuff("bashan", None)

s.value = Some("hello")

但是,使 case 类可变可能不是一个好主意。您应该更喜欢使用不可变数据结构。与其创建可变 case 类,不如让它不可变,并使用 copy方法来创建具有修改值的新实例。例如:
// Immutable Stuff
case class Stuff(name: String, value: Option[String])

val s1 = Stuff("bashan", None)

val s2 = s1.copy(value = Some("hello"))
// s2 is now: Stuff("bashan", Some("hello"))

关于Scala案例类更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24105479/

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