如何在java中实现单元转换器

Moh*_*nde 6 java abstract-class

我怎么可能在Java中实现单位转换器??? 我在想一个抽象的基类:

public abstract class Unit {
    ...
    public void convertTo(Unit unit);
}
Run Code Online (Sandbox Code Playgroud)

然后让每个类都像Meter Kilometer Inch Centimeter Millimeter...派生自那个基本单元类.所有长度单位都在一个名为com.unitconverter.distance的包中,然后是一个包,com.unitconverter.energy,用于能量等等.那么这是实现单位转换器的最佳方法吗?或者有更好或更简单的方法吗?

Mat*_*hen 12

关于这一点已经做了相当多的工作,包括JSR 108(撤回)和JSR-275(被拒绝).请参阅后者的JScienceUnitsOfMeasure实现


Eya*_*der 5

您应该检查java.util.concurrent.TimeUnit是如何实现的,仅供参考。这是一个支持convert(..) 操作的枚举。