gpt4 book ai didi

scala - 在 Scala 中分配给 None 或 null 或 _ 的类(class)成员哪个更好,为什么?

转载 作者:行者123 更新时间:2023-12-04 22:35:52 26 4
gpt4 key购买 nike

我有一个 Scala 域类(用于持久化数据库)
喜欢:

class Foo() {

var bar: Long = _ // or None or null ???
var jaz: String = _ // or None or null or empty string "" ???
}

如果字段 bar 和 jaz 是必填字段,而不是对答案的影响
是可选的?

最佳答案

来自 Scala 编程:

An initializer “= _” of a field assigns a zero value to that field. The zero value depends on the field’s type. It is 0 for numeric types, false for booleans, and null for reference types. This is the same as if the same variable was defined in Java without an initializer. Note that you cannot simply leave off the “= _” initializer in Scala ... [as it] would declare an abstract variable, not an uninitialized one



所以你上面的代码是一样的
class Foo() {

var bar: Long = 0
var jaz: String = null
}

Kim 的回答听起来是正确的 - 如果某个字段是可选的,请将其设为 Option,否则,请让构造函数对其进行设置。

关于scala - 在 Scala 中分配给 None 或 null 或 _ 的类(class)成员哪个更好,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6626987/

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