scala 中字符串连接 Option 的优雅/正确方法是什么,以便 None 呈现为空字符串,并且具有值的变量不会被包裹在 Some("xyz") 中
case class foo(bar: Option[String], bun: Option[String])
println(myFoo.bar+ "," + myFoo.bun)
我想要的输出是例如
hello,
代替
Some(hello),None
请您参考如下方法:
一种方法是:
val a = foo(Some("Hello"), None)
a.productIterator.collect{ case Some(s) => s }.mkString(",")
另一种方法是:
Seq(bar, bun).flatten.mkString(",")
这不能满足您的要求,因为它最后没有打印逗号,但我仍然建议它,因为它可能会做您想要的。




