Je suis curieux :
scala> Some(null) == None
res10: Boolean = false
Pourquoi Some(null)
n'est-il pas transformé en None
?
Je suis curieux :
scala> Some(null) == None
res10: Boolean = false
Pourquoi Some(null)
n'est-il pas transformé en None
?
Je pense que les autres dans le fil de discussion font un bon travail expliquant pourquoi Some(null)
« devrait » exister, mais si vous obtenez Some(null)
quelque part et voulez un moyen rapide de le transformer en None
, je l'ai fait avant :
scala> val x: Option[String] = Some(null)
x: Option[String] = Some(null)
scala> x.flatMap(Option(_))
res8: Option[String] = None
Et lorsque Option
de départ est une valeur non nulle légitime, les choses fonctionnent comme vous le souhaitez probablement :
scala> val y: Option[String] = Some("asdf")
y: Option[String] = Some(asdf)
scala> y.flatMap(Option(_))
res9: Option[String] = Some(asdf)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.