2011-01-14 5 views
79

私はメソッドsession.get(str: String): Stringがあると仮定しますが、それはJavaから来るので、文字列かヌルかを返すかどうかわかりません。ScalaのOptionを使用してJavaでnullを返すメソッドをラップしますか?

session.get("foo") == nullではなくScalaでこれを扱う簡単な方法はありますか?たぶん、いくつかの魔法はToOption(session.get("foo"))のように適用され、その後、私は次のようにScalaの方法でそれを扱うことができ

Optionコンパニオンオブジェクトの applyメソッドがNULL可能の参照からの変換関数として機能します
ToOption(session.get("foo")) match { 
    case Some(_) =>; 
    case None =>; 
} 
+4

詳細については、http://blog.tmorris.net/を参照してください。applyスカイオフーション - チートシート/ – Landei

+3

上記のリンクはhttp://blog.tmorris.net/posts/scalaoption-cheat-sheet/であるべきです。 –

答えて

140

Optionオブジェクトが持っている

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

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

var myOptionalString = Option(session.get("foo")); 
関連する問題