Я знаю, что это старая запись, но .. я все равно собираюсь опубликовать ответ, может быть, он будет кому-то полезен
Чтобы определить пользовательскую единицу в JScience, у вас естьрасширить класс SystemOfUnits
и определить здесь все ваши пользовательские единицы.
Проверьте приведенный ниже пример (я определяю единицу для ACRE)
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;
}
}