Package org.apache.commons.lang.mutable

## Class MutableLong

- java.lang.Object
- - java.lang.Number
  - - org.apache.commons.lang.mutable.MutableLong

- All Implemented Interfaces:
    `Serializable`, `Comparable`, `Mutable`

      public class MutableLong
      extends Number
      implements Comparable, Mutable

  A mutable `long` wrapper.
  Since:
    2.1
  Version:
    $Id: MutableLong.java 905707 2010-02-02 16:59:59Z niallp $
  See Also:
    `Long`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MutableLong()` | Constructs a new MutableLong with the default value of zero.
    `MutableLong​(long value)` | Constructs a new MutableLong with the specified value.
    `MutableLong​(Number value)` | Constructs a new MutableLong with the specified value.
    `MutableLong​(String value)` | Constructs a new MutableLong parsing the given string.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(long operand)` | Adds a value to the value of this instance.
    `void` | `add​(Number operand)` | Adds a value to the value of this instance.
    `int` | `compareTo​(Object obj)` | Compares this mutable to another in ascending order.
    `void` | `decrement()` | Decrements the value.
    `double` | `doubleValue()` | Returns the value of this MutableLong as a double.
    `boolean` | `equals​(Object obj)` | Compares this object to the specified object.
    `float` | `floatValue()` | Returns the value of this MutableLong as a float.
    `Object` | `getValue()` | Gets the value as a Long instance.
    `int` | `hashCode()` | Returns a suitable hash code for this mutable.
    `void` | `increment()` | Increments the value.
    `int` | `intValue()` | Returns the value of this MutableLong as an int.
    `long` | `longValue()` | Returns the value of this MutableLong as a long.
    `void` | `setValue​(long value)` | Sets the value.
    `void` | `setValue​(Object value)` | Sets the value from any Number instance.
    `void` | `subtract​(long operand)` | Subtracts a value from the value of this instance.
    `void` | `subtract​(Number operand)` | Subtracts a value from the value of this instance.
    `Long` | `toLong()` | Gets this mutable as an instance of Long.
    `String` | `toString()` | Returns the String value of this mutable.

    - ### Methods inherited from class java.lang.Number

      `byteValue, shortValue`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### MutableLong

          public MutableLong()

      Constructs a new MutableLong with the default value of zero.

    - #### MutableLong

          public MutableLong​(long value)

      Constructs a new MutableLong with the specified value.
      Parameters:
        `value` - the initial value to store

    - #### MutableLong

          public MutableLong​(Number value)

      Constructs a new MutableLong with the specified value.
      Parameters:
        `value` - the initial value to store, not null
      Throws:
        `NullPointerException` - if the object is null

    - #### MutableLong

          public MutableLong​(String value)
                      throws NumberFormatException

      Constructs a new MutableLong parsing the given string.
      Parameters:
        `value` - the string to parse, not null
      Throws:
        `NumberFormatException` - if the string cannot be parsed into a long
      Since:
        2.5

  - ### Method Detail

    - #### getValue

          public Object getValue()

      Gets the value as a Long instance.
      Specified by:
        `getValue` in interface `Mutable`
      Returns:
        the value as a Long, never null

    - #### setValue

          public void setValue​(long value)

      Sets the value.
      Parameters:
        `value` - the value to set

    - #### setValue

          public void setValue​(Object value)

      Sets the value from any Number instance.
      Specified by:
        `setValue` in interface `Mutable`
      Parameters:
        `value` - the value to set, not null
      Throws:
        `NullPointerException` - if the object is null
        `ClassCastException` - if the type is not a `Number`

    - #### increment

          public void increment()

      Increments the value.
      Since:
        Commons Lang 2.2

    - #### decrement

          public void decrement()

      Decrements the value.
      Since:
        Commons Lang 2.2

    - #### add

          public void add​(long operand)

      Adds a value to the value of this instance.
      Parameters:
        `operand` - the value to add, not null
      Since:
        Commons Lang 2.2

    - #### add

          public void add​(Number operand)

      Adds a value to the value of this instance.
      Parameters:
        `operand` - the value to add, not null
      Throws:
        `NullPointerException` - if the object is null
      Since:
        Commons Lang 2.2

    - #### subtract

          public void subtract​(long operand)

      Subtracts a value from the value of this instance.
      Parameters:
        `operand` - the value to subtract, not null
      Since:
        Commons Lang 2.2

    - #### subtract

          public void subtract​(Number operand)

      Subtracts a value from the value of this instance.
      Parameters:
        `operand` - the value to subtract, not null
      Throws:
        `NullPointerException` - if the object is null
      Since:
        Commons Lang 2.2

    - #### intValue

          public int intValue()

      Returns the value of this MutableLong as an int.
      Specified by:
        `intValue` in class `Number`
      Returns:
        the numeric value represented by this object after conversion to type int.

    - #### longValue

          public long longValue()

      Returns the value of this MutableLong as a long.
      Specified by:
        `longValue` in class `Number`
      Returns:
        the numeric value represented by this object after conversion to type long.

    - #### floatValue

          public float floatValue()

      Returns the value of this MutableLong as a float.
      Specified by:
        `floatValue` in class `Number`
      Returns:
        the numeric value represented by this object after conversion to type float.

    - #### doubleValue

          public double doubleValue()

      Returns the value of this MutableLong as a double.
      Specified by:
        `doubleValue` in class `Number`
      Returns:
        the numeric value represented by this object after conversion to type double.

    - #### toLong

          public Long toLong()

      Gets this mutable as an instance of Long.
      Returns:
        a Long instance containing the value from this mutable, never null

    - #### equals

          public boolean equals​(Object obj)

      Compares this object to the specified object. The result is `true` if and only if the argument is not `null` and is a `MutableLong` object that contains the same `long` value as this object.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the object to compare with, null returns false
      Returns:
        `true` if the objects are the same; `false` otherwise.

    - #### hashCode

          public int hashCode()

      Returns a suitable hash code for this mutable.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a suitable hash code

    - #### compareTo

          public int compareTo​(Object obj)

      Compares this mutable to another in ascending order.
      Specified by:
        `compareTo` in interface `Comparable`
      Parameters:
        `obj` - the other mutable to compare to, not null
      Returns:
        negative if this is less, zero if equal, positive if greater
      Throws:
        `ClassCastException` - if the argument is not a MutableLong

    - #### toString

          public String toString()

      Returns the String value of this mutable.
      Overrides:
        `toString` in class `Object`
      Returns:
        the mutable value as a string