這不是你如何處理Option
。使用.getOrElse
或.map
val ty=ttnew.distinct().leftOuterJoin(rank).map{ case ((key),(c,d)) => (key,c._1,c._2,c._3,d.getOrElse(Double).asInstanceOf[Double]) }
可能(在這種情況下),你會想要做其他d.getOrElse(<a-good-default-value-like-zero-maybe>)
的情況下也許你想傳播的Option
意義(價值可能不存在),並在這些情況下,你應該使用.map
:
val res: Option[String] = optionalDouble.map(doubleValue => callSomeFunctionThatConvertsDoubleToString(value))
你甚至可以做到使用模式匹配和提取其他的東西。例如,使用.collect
(這是一個.map
,但也有可能不是蓋的情況下):
val ty=ttnew.distinct().leftOuterJoin(rank).collect{ case ((key),(c,Some(d))) => (key,c._1,c._2,c._3,d) }
所以,我想將它從d.getOrElse改變(雙人間).asInstanceOf [雙]到d.getOrElse( 0) – Rushabh
是的,其中'0'可以替換爲你的域中任何合理的默認值。 –
非常感謝。我會盡力回覆你如果錯誤持續存在。 – Rushabh