我正在创建一种方法,通过 ID 从数据库中检索用户列表。
我正在尝试决定将 ids
参数声明为 Option[Seq[String]]
与 Seq[Option[String] 的优缺点]]
?
在什么情况下我应该选择其中一种而不是另一种?
最佳答案
用户列表既不能很好地表示为 Option[Seq[String]]
,也不能很好地表示为 Seq[Option[String]]
。我希望像 List[User]
这样的内容作为用户列表。或者可能是 Vector
或 Seq
如果您的字符串代表您的用户,并且 None 情况不执行任何操作,您可以考虑将其过滤掉。您可以使用
来做到这一点val dbresult: Seq[Option[String]] = ???
val strings = dbresult collect { case Some(str) => str }
或
val strings = dbresult.flatten
但是如果不知道 Option[String]
或 Option[Seq]
代表什么,就很难给出好的建议
关于Scala:Option[Seq[String]] 与 Seq[Option[String]]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32371382/