我更新我的2.9。*的项目到2.10。 我有几个班是看起来他们是值类型的完美对象基本类型(角度,长度等)。 不幸的是,使用这些类型我的Java代码没有编制,我想不通为什么。 我已经简化它归结为一个非常简单的代码集。 任何建议将不胜感激。
角类定义(斯卡拉)
package com.example.units
class Angle(val radians : Double) extends AnyVal
{
def degrees = radians * 180.0 / math.Pi
}
object Angle
{
val Zero = new Angle(0)
}
角度测试案例(痛苦地用Java编写的)
package com.example.units;
import junit.framework.Assert;
import org.junit.Test;
public class AngleTest
{
@Test
public static void TestZero()
{
Angle a = Angle.Zero();
Assert.assertEquals(a.degrees(), 0, 1E-9);
}
}
当我编译,我得到这个错误:
AngleTest.java:19 incompatible types
found :double
required: com.example.units.Angle
Angle a = Angle.Zero();
^
在我看来,就好像Angle.Zero被返回双,而不是一个角。 我尝试添加盒/拆箱方法,而是继续收到同样的错误。 同样,任何帮助将不胜感激。