вівторок, 13 листопада 2007 р.

JSR 275 Единицы измерений и Величины

Этот JSR специфицирует один или несколько Джава пакетов для программного управления физическими величинами и их выражением в единицах измерений. Спецификация включает:

  • Проверку совместимости измерений

  • Выражение величин в различных единицах измерений

  • Арифметический операции над измерениями

  • Классы реализующие стандартные типы измерений (такие как базовые, дополнительные и измеренные) и преобразование единиц измерений

  • Классы для парсинга единиц измерений из строк и для форматирования строковых представлений величин

  • набор предопределенных измерений

Пример

class Person {     void setWeight(double weight); }

Непонятно в чем измеряется масса в килограммах или в фунтах


Исправляем

 class Person {
    void setWeight(Measurable weight); }

Тут сложно ошибиться


Пример преобразования величин:

double distanceInMiles = 23.0; UnitConverter mileToKilometer = MILE.getConverterTo(KILO(METER)); double distanceInKilometers = mileToKilometer.convert(distanceInMiles);

Пример с датой:


Unit HOUR_MINUTE_SECOND = HOUR.compound(MINUTE).compound(SECOND);
Measure d = Measure.valueOf(12345, SECOND);
System.out.println(d.to(HOUR_MINUTE_SECOND));
>> 3h25min45s


Немає коментарів: