初始化一个空元组scala

问题描述 投票:0回答:1

我想在 scala 中创建一个可变元组

(String, Set[String])
。 在我想先将其初始化为空值之前,再添加它

集合不能初始化为空集合。对于字符串来说也是如此。 我收到错误提示

class java.lang.String is not a value
有没有一种简单的方法可以做到这一点?我做错了什么

string scala initialization tuples is-empty
1个回答
4
投票

Set
可以像这样定义

Set.empty[String]   // because assert(Set.empty[String].isEmpty)

String
可以像这样定义

""                  // because assert("".isEmpty)
我认为,

空元组并不是 Scala 建模的

TupleN
。相反,它使用
Unit
类型。也许你正在追求这样的东西

val ta: (String, Set[String]) = ("", Set.empty)
val tb: (Option[String], Option[Set[String]]) = (None, None)
val tc: Option[(String, Set[String])] = None

错误信息

class java.lang.String is not a value

意味着您正在使用预期值的类型,例如,考虑

之间的差异
Set[String]    // ok
Set(String)    // error
© www.soinside.com 2019 - 2024. All rights reserved.