[英]Convert String Array with nulls to Int Array in Scala
給定 Array("1","2",null,"3"),將其轉換為整數數組,將 null 替換為 0。
我知道我們可以使用成功/失敗模式,但我如何使用簡單的案例陳述來做到這一點?
Array("1","2",null,"3").map({
case null => 0
case _ => (_:String).toInt})
返回Array(<function1>,<function1>,0,<function1>)
您可以將每個非Int
字符串轉換為零,而無需進行特定於null
測試。
Array("1","2",null,"3","w")
.map(s => util.Try(s.toInt).getOrElse(0))
//res0: Array[Int] = Array(1, 2, 0, 3, 0)
如果您只期望空值和數字,則可以使用Option
:
Array("1","2",null,"3").map(Option(_).fold {0} {_.toInt})
請注意,這將拋出數組中不是int
或null
任何元素。
代碼在Scastie運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.