Interface DoubleEncodedValue

All Superinterfaces:
Comparable<EncodedValue>, EncodedValue
All Known Implementing Classes:
BaseDoubleEncodedValue, BuilderEncodedValues.BuilderDoubleEncodedValue, ImmutableDoubleEncodedValue

public interface DoubleEncodedValue extends EncodedValue
This class represents an encoded double value.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Compare this DoubleEncodedValue to another EncodedValue.
    boolean
    Compares this DoubleEncodedValue to another DoubleEncodedValue for equality.
    double
    Gets the double value.
    int
    Returns a hashcode for this EncodedDoubleValue.

    Methods inherited from interface org.jf.dexlib2.iface.value.EncodedValue

    getValueType
  • Method Details

    • getValue

      double getValue()
      Gets the double value.
      Returns:
      the double value
    • hashCode

      int hashCode()
      Returns a hashcode for this EncodedDoubleValue. This hashCode is defined to be the following:
       
       long v = Double.doubleToRawLongBits(getValue());
       int hashCode = (int)(v^(v>>>32));
       
      Note: This is slightly different than the definition of Double.hashCode(). This uses doubleToRawLongBits() instead of doubleToLongBits(), in order to preserve as much information as possible.
      Overrides:
      hashCode in class Object
      Returns:
      The hash code value for this EncodedDoubleValue
    • equals

      boolean equals(@Nullable Object o)
      Compares this DoubleEncodedValue to another DoubleEncodedValue for equality. This DoubleEncodedValue is equal to another DoubleEncodedValue if the values returned by getValue().doubleToRawLongBits() are equal. Note: this isn't quite the same as getValue() == getValue(), due to various NaN issues and signed zero issues.
      Overrides:
      equals in class Object
      Parameters:
      o - The object to be compared for equality with this DoubleEncodedValue
      Returns:
      true if the specified object is equal to this DoubleEncodedValue
    • compareTo

      int compareTo(@Nonnull EncodedValue o)
      Compare this DoubleEncodedValue to another EncodedValue. The comparison is first done on the return values of getValueType(), and then if the other value is another DoubleEncodedValue, the return values of getValue() are compared, using the semantics of Double.compare()
      Specified by:
      compareTo in interface Comparable<EncodedValue>
      Parameters:
      o - The EncodedValue to compare with this DoubleEncodedValue
      Returns:
      An integer representing the result of the comparison