我有一堆懒惰的 val 字符串,我想一次设置它们,并且在某些情况下应该将它们设置为null
(我知道这不是 Scala 方式,但它是为了 Java 兼容性)
通常我可以以典型的多重赋值方式设置变量:
scala> val (a: String, b: String) = ("a", "b")
a: String = a
b: String = b
一旦我在混合中添加一个空值,一切都会变得混乱:
scala> val (a: String, b: String) = (null, null)
<console>:12: error: pattern type is incompatible with expected type;
found : String
required: Null
val (a: String, b: String) = (null, null)
^
<console>:12: error: pattern type is incompatible with expected type;
found : String
required: Null
val (a: String, b: String) = (null, null)
有没有办法将多个类型变量设置为空?
我猜这与设置多个变量所涉及的模式匹配有关,因为这很好:
scala> val a: String = null
a: String = null