2011-01-14 28 views
79

Görünüm, session.get(str: String): String bir yönteme sahibim, ancak Java'dan geldiğinden, bunun bir dize mi yoksa bir null döndürüp döndürmeyeceğini bilmiyorsunuz.Paketleme Scala Seçeneği ile Java yöntemi boş-dönen?

session.get("foo") == null yerine Scala'da bunu işlemenin daha kolay bir yolu var mı? Belki bazı sihirli ToOption(session.get("foo")) gibi uygulamak ve sonra ben gibi Scala bir şekilde tedavi edebilir

Option refakatçi nesnenin apply yöntemi null referanslardan bir dönüşüm fonksiyonu olarak hizmet vermektedir
ToOption(session.get("foo")) match { 
    case Some(_) =>; 
    case None =>; 
} 
+4

Daha fazla seçenek için http://blog.tmorris.net/ adresine bakın. scalaoption-hile-yaprak/ – Landei

+3

Yukarıdaki bağlantı http://blog.tmorris.net/posts/scalaoption-cheat-sheet/ olmalıdır. –

cevap

140

: Option nesne bir sahiptir

scala> Option(null) 
res4: Option[Null] = None 

scala> Option(3) 
res5: Option[Int] = Some(3) 
14

var myOptionalString = Option(session.get("foo"));