我想在scala (String, Set[String])中创建一个可变元组。我想先把它初始化为一个空值,然后再加该集合不能被初始化为空集合。String也是如此。我得到一个错误,说class java.lang.String is not a value有一个简单的方法来做到这一点吗?我做错了什么
(String, Set[String])
class java.lang.String is not a value
xkftehaa1#
空的Set可以这样定义
Set
Set.empty[String] // because assert(Set.empty[String].isEmpty)
空的String可以这样定义
String
"" // because assert("".isEmpty)
我认为,Empty tuple不是Scala模型中的TupleN。它使用Unit类型。也许你在找这样的东西
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
val ta: (String, Set[String]) = ("", Set.empty)
val tb: (Option[String], Option[Set[String]]) = (None, None)
val tc: Option[(String, Set[String])] = None
错误消息
意味着您正在使用需要值的类型,例如,考虑以下类型之间的差异:
Set[String] // okSet(String) // error
Set[String] // ok
Set(String) // error
1条答案
按热度按时间xkftehaa1#
空的
Set
可以这样定义空的
String
可以这样定义我认为,Empty tuple不是Scala模型中的
TupleN
。它使用Unit
类型。也许你在找这样的东西错误消息
意味着您正在使用需要值的类型,例如,考虑以下类型之间的差异: