在使用Scala中的Java類時,我注意到Scala不能乘以Java雙精度。這裏有一個例子:斯卡拉不能乘以java雙打?
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
^
哇!我想這是因爲Scala運算符只是方法,所以它試圖調用Java Double類的乘法(即「34.0。*(2.1)」)。哎呀。有沒有簡單的方法來完成這個互操作?
測試在2.9:這已得到修復 – 2012-04-26 12:02:26