public interface Measurable<Q extends Quantity> extends java.lang.Comparable<Measurable<Q>>
This interface represents the measurable, countable, or comparable property or aspect of a thing.
Implementing instances are typically the result of a measurement:[code]
Measurable
Although measurable instances are for the most part scalar quantities;
more complex implementations (e.g. vectors, data set) are allowed as
long as an aggregate magnitude can be determined. For example:[code]
class Velocity3D implements Measurable extends Measure
unit) { ... } // Returns median value.
...
} [/code]
Modifier and Type | Method and Description |
---|---|
double |
doubleValue(Unit<Q> unit)
Returns the value of this measurable stated in the specified unit as
a
double . |
long |
longValue(Unit<Q> unit)
Returns the estimated integral value of this measurable stated in
the specified unit as a
long . |
double doubleValue(Unit<Q> unit)
double
. If the measurable has too great a magnitude to
be represented as a double
, it will be converted to
Double.NEGATIVE_INFINITY
or
Double.POSITIVE_INFINITY
as appropriate.unit
- the unit in which this measurable value is stated.double
.long longValue(Unit<Q> unit) throws java.lang.ArithmeticException
long
.
Note: This method differs from the Number.longValue()
in the sense that the closest integer value is returned
and an ArithmeticException is raised instead
of a bit truncation in case of overflow (safety critical).
unit
- the unit in which the measurable value is stated.long
.java.lang.ArithmeticException
- if this quantity cannot be represented
as a long
number in the specified unit.