web-dev-qa-db-fra.com

Comment définir une chaîne dans une option [chaîne]?

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]?

44
i.am.michiel

Vous pouvez aussi simplement utiliser Option(myValue) pour convertir null en None et non-null en Some.

66
Channing Walton

Vous pouvez envelopper n'importe quel objet dans une Option comme ceci:

val opt = Some("foo")
14
Kim Stebel

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

http://www.codecommit.com/blog/scala/the-option-pattern

4
FUD

Si vous souhaitez convertir une chaîne vide en aucune solution universelle, la solution est la suivante: Option(str).filter(_.nonEmpty)

0
Roman Kazanovskyi