Il tipo "Option" e' un contenitore vuoto (None) o pieno (Some(valore)). Fornisce un'alternativa sicura all'uso del null e dovrebbe essere utilizzato al suo posto, quando possibile. Le "Option" sono "Collection" (di un solo oggetto) e sono impreziosite dalle operazioni per le collection!
Esempio:
var username: Option[String] = None ... username = Some("foobar")
al posto di
var username: String = null ... username = "foobar"
Uso degli operatori condizionali:
if (opt.isDefined) operate(opt.get) opt foreach { value => operate(value) } opt match { case Some(value) => operate(value) case None => defaultAction() }