2011-01-14 8 views
79

मान लीजिए कि मेरे पास एक विधि session.get(str: String): String है लेकिन आपको नहीं पता कि यह आपको स्ट्रिंग या शून्य को वापस कर देगा, क्योंकि यह जावा से आता है।स्कैला में विकल्प के साथ जावा में नल-रिटर्निंग विधि लपेटना?

वहाँ के बजाय स्काला session.get("foo") == null में इस इलाज के लिए एक आसान तरीका है? हो सकता है कि कुछ जादू ToOption(session.get("foo")) तरह लागू करते हैं और फिर मैं की तरह स्काला तरीके से इलाज कर सकते हैं

ToOption(session.get("foo")) match { 
    case Some(_) =>; 
    case None =>; 
} 
+4

अधिक विकल्प चाल के लिए http://blog.tmorris.net/ देखें स्कैलोप्शन-चीट-शीट/ – Landei

+3

उपरोक्त लिंक http://blog.tmorris.net/posts/scalaoption-cheat-sheet/ होना चाहिए। –

उत्तर

140

Option साथी वस्तु की apply विधि नल ​​संदर्भों से एक रूपांतरण समारोह के रूप में कार्य करता है:

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

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

Option वस्तु एक है apply विधि जो ठीक है:

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