IT干货网

scala之如何在scala中连接选项

bhlsheji 2025年12月25日 编程设计 56 0

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(",") 

这不能满足您的要求,因为它最后没有打印逗号,但我仍然建议它,因为它可能会做您想要的。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!