我想在 JScience 中定义一个新的距离单位.项目网站的“教程”部分直接指向 Javadoc,它虽然相当完整,但对我来说有点过于密集,无法理解我实际上是如何定义我自己的单元的。
你能举个例子吗?
干杯。
皮特
最佳答案
我知道这是一个旧帖子,但是..无论如何我都会发布答案,也许它对某人有用
为了在 JScience 中定义自定义单位,您必须扩展类 SystemOfUnits
并在此处定义所有自定义单位。
检查下面的示例(我正在定义 ACREs 的单位)
public class MyUnits extends SystemOfUnits
{
private static HashSet<Unit<?>> UNITS = new HashSet();
private static final MyUnits INSTANCE = new MyUnits();
public static final Unit<Area> ACRE = myUnits((SI.METER.pow(2)).times(4046.8564224).asType(Area.class));
public static MyUnits getInstance()
{
return INSTANCE;
}
@Override
public Set<Unit<?>> getUnits()
{
return Collections.unmodifiableSet(UNITS);
}
private static <U extends Unit<?>> U myUnits(U unit)
{
UNITS.add(unit);
return unit;
}
}
关于Java - JScience 定义一个新单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4007937/