Lorsque j'essaie d'affecter une valeur de type String dans un champ de type Option [String], l'erreur suivante apparaît:
type mismatch; found : String required: Option[String]
Comment puis-je affecter la valeur myValue:String
dans le champ myField:Option[String]
?
Vous pouvez aussi simplement utiliser Option(myValue)
pour convertir null en None
et non-null en Some
.
Vous pouvez envelopper n'importe quel objet dans une Option
comme ceci:
val opt = Some("foo")
Vous pouvez simplement envelopper votre objet dans une classe
val myField = Some(myValue)
Ou si vous n'avez rien, passez
None
Son modèle appelé Option
Si vous souhaitez convertir une chaîne vide en aucune solution universelle, la solution est la suivante: Option(str).filter(_.nonEmpty)