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

数组 – 为什么单位数组保持为空?

发布时间:2020-12-16 09:05:15 所属栏目:安全 来源:网络整理
导读:Unit被指定为AnyVal的子类型(它的唯一值是()),为什么这可能: scala val units = new Array[Unit](5)units: Array[Unit] = Array(null,null,null) 这只是REPL阵列打印机制中的错误/遗漏,还是有原因的? 解决方法 我认为这是阵列初始化的问题/限制.对于原始值
Unit被指定为AnyVal的子类型(它的唯一值是()),为什么这可能:

scala> val units = new Array[Unit](5)
units: Array[Unit] = Array(null,null,null)

这只是REPL阵列打印机制中的错误/遗漏,还是有原因的?

解决方法

我认为这是阵列初始化的问题/限制.对于原始值,数组被初始化为其默认值,由JVM根据利用本机数组的Scala数组推测.

对于其他类型,该值将被包装到一个对象中,它们似乎被初始化为null.

如果你想要一个单元数组,你可能需要调用val units = Array.fill(5)(()).

(编辑:李大同)

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

    推荐文章
      热点阅读