簡體   English   中英

將帶有空值的字符串數組轉換為 Scala 中的 Int 數組

[英]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})

請注意,這將拋出數組中不是intnull任何元素。

代碼在Scastie運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM