Possible Duplicate:
Accessing scala.None from Java
In Java you can create an instance of Some
using the constructor, i.e. new Some(value)
, but None
has no partner class. How do you pass None
to a Scala function from Java?
The scala.None$.MODULE$
thing doesn't always typecheck, for example this doesn't compile:
scala.Option<String> x = scala.None$.MODULE$;
because javac doesn't know about Scala's declaration-site variance, so you get:
J.java:3: incompatible types found : scala.None$ required: scala.Option<java.lang.String> scala.Option<String> x = scala.None$.MODULE$ ;
This does compile, though:
scala.Option<String> x = scala.Option.apply(null);
so that's a different way to get a None that is usable in more situations.
I think this ugly bit will work: scala.None$.MODULE$
There is no need for a new instance since one None is as good as another...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With