首页 > 解决方案 > 在 Scala 中将带空值的字符串数组转换为 Int 数组

问题描述

给定 Array("1","2",null,"3"),将其转换为整数数组,将 null 替换为 0。

我知道我们可以使用成功/失败模式,但我怎样才能用一个简单的案例陈述来做到这一点?

Array("1","2",null,"3").map({
  case null => 0
  case _ => (_:String).toInt})

返回Array(<function1>,<function1>,0,<function1>)

标签: stringscala

解决方案


如果您只期望空值和数字,则可以使用Option

Array("1","2",null,"3").map(Option(_).fold {0} {_.toInt})

请注意,这将抛出数组中不是intor的任何元素null

代码在Scastie运行。


推荐阅读