Package tech.units.indriya.quantity
Class NumberQuantity<Q extends javax.measure.Quantity<Q>>
java.lang.Object
tech.units.indriya.AbstractQuantity<Q>
tech.units.indriya.quantity.NumberQuantity<Q>
- Type Parameters:
Q- The type of the quantity.
- All Implemented Interfaces:
Serializable,Comparable<javax.measure.Quantity<Q>>,javax.measure.Quantity<Q>,ComparableQuantity<Q>,tech.uom.lib.common.function.QuantityConverter<Q>,tech.uom.lib.common.function.UnitSupplier<Q>,tech.uom.lib.common.function.ValueSupplier<Number>
public class NumberQuantity<Q extends javax.measure.Quantity<Q>>
extends AbstractQuantity<Q>
implements Serializable
An amount of quantity, implementation of
ComparableQuantity that keep Number as possible otherwise converts to
DecimalQuantity, this object is immutable.- Since:
- 1.0
- Version:
- 1.0.1, $Date: 2017-05-28 $
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class tech.units.indriya.AbstractQuantity
AbstractQuantity.Equalizer -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanIndicates if this quantity is big.private static final longprivate final NumberFields inherited from class tech.units.indriya.AbstractQuantity
NONE, ONE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedNumberQuantity(Number number, javax.measure.Unit<Q> unit) -
Method Summary
Modifier and TypeMethodDescriptiondecimalValue(javax.measure.Unit<Q> unit) divide(javax.measure.Quantity<?> that) doubledoubleValue(javax.measure.Unit<Q> unit) booleanCompares this quantity against the specified object for strict equality (same unit and same amount).getValue()Returns the numeric value of the quantity.inverse()booleanisBig()Indicates if this measured amount is a big number, i.E.multiply(javax.measure.Quantity<?> that) static <Q extends javax.measure.Quantity<Q>>
AbstractQuantity<Q> of(byte value, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedbytestated in the specified unit.static <Q extends javax.measure.Quantity<Q>>
AbstractQuantity<Q> of(double doubleValue, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifieddoublestated in the specified unit.static <Q extends javax.measure.Quantity<Q>>
AbstractQuantity<Q> of(float floatValue, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedfloatstated in the specified unit.static <Q extends javax.measure.Quantity<Q>>
AbstractQuantity<Q> of(int intValue, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedintstated in the specified unit.static <Q extends javax.measure.Quantity<Q>>
AbstractQuantity<Q> of(long longValue, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedlongstated in the specified unit.static <Q extends javax.measure.Quantity<Q>>
AbstractQuantity<Q> of(short value, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedshortstated in the specified unit.private DecimalQuantity<Q> Methods inherited from class tech.units.indriya.AbstractQuantity
asType, compareTo, divide, equals, floatValue, getUnit, hasFraction, hasFraction, hashCode, intValue, inverse, isEquivalentOf, isGreaterThan, isGreaterThanOrEqualTo, isLessThan, isLessThanOrEqualTo, longValue, multiply, parse, to, toString
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
value
-
isBig
private final boolean isBigIndicates if this quantity is big.
-
-
Constructor Details
-
NumberQuantity
-
-
Method Details
-
doubleValue
- Specified by:
doubleValuein classAbstractQuantity<Q extends javax.measure.Quantity<Q>>
-
getValue
Description copied from class:AbstractQuantityReturns the numeric value of the quantity.- Specified by:
getValuein interfacejavax.measure.Quantity<Q extends javax.measure.Quantity<Q>>- Specified by:
getValuein interfacetech.uom.lib.common.function.ValueSupplier<Q extends javax.measure.Quantity<Q>>- Specified by:
getValuein classAbstractQuantity<Q extends javax.measure.Quantity<Q>>- Returns:
- the quantity value.
-
isBig
public boolean isBig()Indicates if this measured amount is a big number, i.E. BigDecimal or BigInteger. In all other cases this would be false.- Specified by:
isBigin classAbstractQuantity<Q extends javax.measure.Quantity<Q>>- Returns:
trueif this quantity is big;falseotherwise.
-
add
-
multiply
-
multiply
-
divide
-
divide
-
inverse
-
decimalValue
- Specified by:
decimalValuein classAbstractQuantity<Q extends javax.measure.Quantity<Q>>- Throws:
ArithmeticException
-
subtract
-
toDecimalQuantity
-
of
public static <Q extends javax.measure.Quantity<Q>> AbstractQuantity<Q> of(long longValue, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedlongstated in the specified unit.- Parameters:
longValue- the quantity value.unit- the measurement unit.- Returns:
- the corresponding
intquantity.
-
of
public static <Q extends javax.measure.Quantity<Q>> AbstractQuantity<Q> of(int intValue, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedintstated in the specified unit.- Parameters:
intValue- the quantity value.unit- the measurement unit.- Returns:
- the corresponding
intquantity.
-
of
public static <Q extends javax.measure.Quantity<Q>> AbstractQuantity<Q> of(short value, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedshortstated in the specified unit.- Parameters:
value- the quantity value.unit- the measurement unit.- Returns:
- the corresponding
shortquantity.
-
of
public static <Q extends javax.measure.Quantity<Q>> AbstractQuantity<Q> of(byte value, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedbytestated in the specified unit.- Parameters:
value- the quantity value.unit- the measurement unit.- Returns:
- the corresponding
bytequantity.
-
of
public static <Q extends javax.measure.Quantity<Q>> AbstractQuantity<Q> of(float floatValue, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifiedfloatstated in the specified unit.- Parameters:
floatValue- the measurement value.unit- the measurement unit.- Returns:
- the corresponding
floatquantity.
-
of
public static <Q extends javax.measure.Quantity<Q>> AbstractQuantity<Q> of(double doubleValue, javax.measure.Unit<Q> unit) Returns the scalar quantity for the specifieddoublestated in the specified unit.- Parameters:
doubleValue- the measurement value.unit- the measurement unit.- Returns:
- the corresponding
doublequantity.
-
equals
Description copied from class:AbstractQuantityCompares this quantity against the specified object for strict equality (same unit and same amount).Similarly to the
BigDecimal.equals(java.lang.Object)method which consider 2.0 and 2.00 as different objects because of different internal scales, quantities such asQuantities.getQuantity(3.0, KILOGRAM)Quantities.getQuantity(3, KILOGRAM)andQuantities.getQuantity("3 kg")might not be considered equals because of possible differences in their implementations.To compare quantities stated using different units or using different amount implementations the
compareToormethods should be used.invalid reference
equals(Quantity, epsilon, epsilonUnit)- Overrides:
equalsin classAbstractQuantity<Q extends javax.measure.Quantity<Q>>- Parameters:
obj- the object to compare with.- Returns:
this.getUnit.equals(obj.getUnit()) invalid input: '&'invalid input: '&' this.getValue().equals(obj.getValue())
-