I am working on a mixed java/scala project, and I am trying to call a scala object's method from Java.  This method takes an Option[Double] as a parameter.  I thought this would work:
Double doubleValue = new Double(1.0); scalaObj.scalaMethod(new Some(doubleValue));   But Eclipse tells me "The constructor Some(Double) is undefined".
Should I be calling the constructor for scala.Some differently?  
In Scala you normally lift to Option as follows:
scala> val doubleValue = Option(1.0) doubleValue: Option[Double] = Some(1.0)   () is a syntactic sugar for apply[A](A obj) method of Option's companion object. Therefore, it can be directly called in Java:
Option<Double> doubleValue = Option.apply(1.0); 
                        You can construct a Some instance that way, this compiles for me,
Some<Double> d = new Some<Double>(Double.valueOf(1));   The problem may be the missing generics, try doing,
scalaObj.scalaMethod(new Some<Double>(doubleValue)); 
                        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