Class BaseDoubleEncodedValue

java.lang.Object
org.jf.dexlib2.base.value.BaseDoubleEncodedValue
All Implemented Interfaces:
Comparable<EncodedValue>, DoubleEncodedValue, EncodedValue
Direct Known Subclasses:
ImmutableDoubleEncodedValue

public abstract class BaseDoubleEncodedValue extends Object implements DoubleEncodedValue
  • Constructor Details

    • BaseDoubleEncodedValue

      public BaseDoubleEncodedValue()
  • Method Details

    • hashCode

      public int hashCode()
      Description copied from interface: DoubleEncodedValue
      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.
      Specified by:
      hashCode in interface DoubleEncodedValue
      Overrides:
      hashCode in class Object
      Returns:
      The hash code value for this EncodedDoubleValue
    • equals

      public boolean equals(@Nullable Object o)
      Description copied from interface: DoubleEncodedValue
      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.
      Specified by:
      equals in interface DoubleEncodedValue
      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

      public int compareTo(@Nonnull EncodedValue o)
      Description copied from interface: DoubleEncodedValue
      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>
      Specified by:
      compareTo in interface DoubleEncodedValue
      Parameters:
      o - The EncodedValue to compare with this DoubleEncodedValue
      Returns:
      An integer representing the result of the comparison
    • getValueType

      public int getValueType()
      Description copied from interface: EncodedValue
      Returns the type of this encoded value. The returned integer will be one of the ValueType.* constants.
      Specified by:
      getValueType in interface EncodedValue
      Returns:
      The type of this encoded value
    • toString

      public String toString()
      Overrides:
      toString in class Object