gpt4 book ai didi

java - Scala 中的多值赋值行为

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:02:10 27 4
gpt4 key购买 nike

当 Scala 评估以下多值赋值时:

val a, b, c = UUID.randomUUID()

我期望 a == b && b == c && c == a (A) 或 a == null && b == null && c == UUID (B)

但是,结果是 a != b && b != c && c != a (C),其中每个值都被初始化为一个单独的 UUID。

这是为什么? Java 的行为类似于(B)。我相信 (C) 更方便,但是我无法在语言文档中找到解释。

最佳答案

来自scala language reference第 4.1 节:

A value definition val p1, ..., pn = e is a shorthand for the sequence of value definitions val p1 = e; ...; val pn = e.

因此您的示例是以下内容的简写:

val a = UUID.randomUUID()
val b = UUID.randomUUID()
val c = UUID.randomUUID()

关于java - Scala 中的多值赋值行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47518421/

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