加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 18:21:52 所属栏目:安全 来源:网络整理
导读:我有一个 Scala域类(用于持久化到数据库) 喜欢: class Foo() {var bar: Long = _ // or None or null ???var jaz: String = _ // or None or null or empty string "" ???} 如果字段bar和jaz是必填字段而不是,则如何影响答案 可选吗? 解决方法 来自Scala编
我有一个 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,如果没有,让构造函数设置它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读