Scala can't multiply java Doubles?
scala
Solution
I would define an implicit conversion to a Scala `Double`
implicit def javaToScalaDouble(d: java.lang.Double) = d.doubleValue
Now your code works! And similarly expressions like `1.2 + x` work as well. And due to auto-boxing code like the following does compile without requiring implicit conversions.
def foo(d: java.lang.Double) = println(d)
val z: scala.Double = 1.2
foo(z)
-- Flaviu Cipcigan
Problem
While working with a Java class in Scala, I noticed that Scala can't multiply Java Doubles. Here's an example: ``` scala> val x:java.lang.Double = new java.lang.Double(34.0) x: java.lang.Double = 34.0 scala> val y:java.lang.Double = new java.lang.Double(2.1) y: java.lang.Double = 2.1 scala> x*y <console>:7: error: value * is not a member of java.lang.Double x*y ^ ``` Whoa! I guess it's because Scala operators are just methods, so it's trying to call the multiply method of the Java Double class (ie, "34.0.*(2.1)"). Oops. Is there an easy way to do this interop?