初始化一个空元组scala

odopli94  于 7个月前  发布在  Scala
关注(0)|答案(1)|浏览(77)

我想在scala (String, Set[String])中创建一个可变元组。我想先把它初始化为一个空值,然后再加
该集合不能被初始化为空集合。String也是如此。我得到一个错误,说class java.lang.String is not a value有一个简单的方法来做到这一点吗?我做错了什么

xkftehaa

xkftehaa1#

空的Set可以这样定义

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

空的String可以这样定义

""                  // because assert("".isEmpty)

我认为,Empty tuple不是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

相关问题