Package tech.units.indriya.unit
package tech.units.indriya.unit
This package provides supports for physics units, in conformity with the
Units of Measurement API.
Usage:
import javax.measure.quantity.*; // Holds quantity types.
import tech.units.indriya.AbstractUnit;
import tech.units.indriya.function.AbstractConverter;
import static tech.units.indriya.unit.Units.*; // Standard units.
import static tech.units.indriya.unit.MetricPrefix.*;
import ...US.*; // US units (external module)
public class Main {
public void main(String[] args) {
// Conversion between units (explicit way).
AbstractUnit sourceUnit = KILO(METRE);
AbstractUnit targetUnit = MILE;
PhysicsConverter uc = sourceUnit.getConverterTo(targetUnit);
System.out.println(uc.convert(10)); // Converts 10 km to miles.
// Same conversion than above, packed in one line.
System.out.println(KILO(METRE).getConverterTo(MILE).convert(10));
// Retrieval of the SI unit (identifies the measurement type).
System.out.println(REVOLUTION.divide(MINUTE).toSystemUnit());
// Dimension checking (allows/disallows conversions)
System.out.println(ELECTRON_VOLT.isCompatible(WATT.times(HOUR)));
// Retrieval of the unit dimension (depends upon the current model).
System.out.println(ELECTRON_VOLT.getDimension());
}
}
> 6.2137119223733395
> 6.2137119223733395
> rad/s
> true
> [L]²·[M]/[T]²
Unit Parameterization
CommonUnits are parameterized enforce compile-time checks of units/measures consistency, for example:
Unit
Runtime checks of dimension consistency can be done for more complex cases.
Unit SQUARE_FOOT = FOOT.times(FOOT).asType(Area.class); // Ok.
Unit SQUARE_FOOT = FOOT.times(KELVIN).asType(Area.class); // Runtime error.
Unit KELVIN = AbstractUnit.of("K").asType(Temperature.class); // Ok.
Unit KELVIN = AbstractUnit.of("kg").asType(Temperature.class); // Runtime error.
- Version:
- 0.4
-
ClassDescriptionAlternateUnit<Q extends javax.measure.Quantity<Q>>This class represents units used in expressions to distinguish between quantities of a different nature but of the same dimensions.AnnotatedUnit<Q extends javax.measure.Quantity<Q>>This class represents an annotated unit.BaseUnit<Q extends javax.measure.Quantity<Q>>This class represents the building blocks on top of which all others physical units are created.This class provides support for common binary prefixes to be used by units.This class provides support for the 20 prefixes used in the metric system (decimal multiples and submultiples of units).A unit prefix is a specifier or mnemonic that is prepended to units of measurement to indicate multiples or fractions of the units.ProductUnit<Q extends javax.measure.Quantity<Q>>This class represents units formed by the product of rational powers of existing physical units.Inner product element represents a rational power of a single unit.TransformedUnit<Q extends javax.measure.Quantity<Q>>This class represents the units derived from other units using converters.This class defines commonly used units.