| 
JSR-275 - Measurements and Units Specification | ||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||
See:
          Description
| Interface Summary | |
|---|---|
| Dimension.Model | This interface represents the mapping between base units
 and dimensions. | 
| Class Summary | |
|---|---|
| AlternateUnit<Q extends Quantity> | This class represents the units used in expressions to distinguish between quantities of a different nature but of the same dimensions. | 
| BaseUnit<Q extends Quantity> | This class represents the building blocks on top of which all others units are created. | 
| CompoundUnit<Q extends Quantity> | This class represents the multi-radix units (such as "hour:min:sec"). | 
| DerivedUnit<Q extends Quantity> | This class identifies the units created by combining or transforming other units. | 
| Dimension | This class represents the dimension of an unit. | 
| NonSI | This class contains units that are not part of the International System of Units, that is, they are outside the SI, but are important and widely used. | 
| ProductUnit<Q extends Quantity> | This class represents units formed by the product of rational powers of existing units. | 
| SI | This class contains SI (Système International d'Unités) base units, and derived units. | 
| TransformedUnit<Q extends Quantity> |  This class represents the units derived from other units using
     converters. | 
| Unit<Q extends Quantity> |  This class represents a determinate quantity (as of length, time, heat, or value) adopted as a standard
     of measurement. | 
| UnitFormat |  This class provides the interface for formatting and parsing units. | 
Provides support for programatic unit handling.
SI class (Système International d'Unités) and
     about 50 non-standard units are available through the 
     NonSI class.
    
import javax.measure.Measurable;
import javax.measure.Measure;
import javax.measure.unit.*;
import javax.measure.quantity.*;
import static javax.measure.unit.SI.*;
import static javax.measure.unit.NonSI.*;
import static javax.measure.unit.Dimension.*;
public class Main { 
    public void main(String[] args) { 
        // Conversion between units.
        System.out.println(KILO(METER).getConverterTo(MILE).convert(10));
            
        // Retrieval of the system unit (identifies the measurement type).    
        System.out.println(REVOLUTION.divide(MINUTE).getSystemUnit());
        
        // 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
> rad/s
> true
> [L]²·[M]/[T]²
       
Quantity>) to
    enforce compile-time checks of units/measures consistency, for example:
    Unit<Duration> MINUTE = SECONDS.times(60); // Ok.
    Unit<Duration> MINUTE = METER.times(60); // Compile error.
    
    Unit<Pressure> HECTOPASCAL = HECTO(PASCAL); // Ok.
    Unit<Pressure> HECTOPASCAL = HECTO(NEWTON); // Compile error.
    
    Measurable<Duration> duration = Measure.valueOf(2, MINUTE); // Ok.
    Measurable<Duration> duration = Measure.valueOf(2, CELSIUS); // Compile error.
    
    long milliseconds = duration.longValue(MILLI(SECOND)); // Ok.
    long milliseconds = duration.longValue(POUND); // Compile error.
    
   
  | 
JSR-275 - Measurements and Units Specification | ||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||