基于jsr363创建经度类型

时间:2016-11-23 19:56:39

标签: java units-of-measurement jsr363

如何根据JSR363 API创建经度类型?

经度可以表示为例如-pi,+ pi]弧度之间的双重或者-180,180]度之间的双重。如果你向经度175度增加20度,你得到-165度。 这意味着add()方法需要处理包装,但我不知道如何扩展当前的实现。

@cneller:是的,它将实现Quantity< Angle>不知怎的,但它可以像下面这样简单:

public class Longitude extends NumberQuantity<Angle> {

    public Longitude(Number number, Unit<Angle> unit) {
        super(normalize(number, unit), unit);
    }

    public static Number normalize(Number angle, Unit<Angle> unit) {
      ...
    }
}

但这并不适用于当前的实现,因为它调用了Quantities.getQuantity(..)internaly,这是一种对经度不了解的工厂。

1 个答案:

答案 0 :(得分:0)

我建议实施数量界面。

您可以在此处找到JSR作者的示例:http://central.maven.org/maven2/tec/units/unit-ri/1.0.1/unit-ri-1.0.1-sources.jar