Package org.apache.commons.lang3.mutable

# Class MutableLong

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

All Implemented Interfaces:
  `Serializable`, `Comparable<MutableLong>`, `Mutable<Number>`

public class MutableLong extends Number implements Comparable<MutableLong>, Mutable<Number>
A mutable `long` wrapper.

Note that as MutableLong does not extend Long, it is not treated by String.format as a Long parameter.

Since:
  2.1
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

  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.
  `long`
  `addAndGet(long operand)`
  Increments this instance's value by `operand`; this method returns the value associated with the instance immediately after the addition operation.
  `long`
  `addAndGet(Number operand)`
  Increments this instance's value by `operand`; this method returns the value associated with the instance immediately after the addition operation.
  `int`
  `compareTo(MutableLong other)`
  Compares this mutable to another in ascending order.
  `void`
  `decrement()`
  Decrements the value.
  `long`
  `decrementAndGet()`
  Decrements this instance's value by 1; this method returns the value associated with the instance immediately after the decrement operation.
  `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.
  `long`
  `getAndAdd(long operand)`
  Increments this instance's value by `operand`; this method returns the value associated with the instance immediately prior to the addition operation.
  `long`
  `getAndAdd(Number operand)`
  Increments this instance's value by `operand`; this method returns the value associated with the instance immediately prior to the addition operation.
  `long`
  `getAndDecrement()`
  Decrements this instance's value by 1; this method returns the value associated with the instance immediately prior to the decrement operation.
  `long`
  `getAndIncrement()`
  Increments this instance's value by 1; this method returns the value associated with the instance immediately prior to the increment operation.
  `Long`
  `getValue()`
  Gets the value as a Long instance.
  `int`
  `hashCode()`
  Returns a suitable hash code for this mutable.
  `void`
  `increment()`
  Increments the value.
  `long`
  `incrementAndGet()`
  Increments this instance's value by 1; this method returns the value associated with the instance immediately after the increment operation.
  `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(Number 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 Details

  - ### 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)
    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 Details

  - ### add

    public void add(long operand)
    Adds a value to the value of this instance.
    Parameters:
      `operand` - the value to add, not null
    Since:
      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:
      2.2

  - ### addAndGet

    public long addAndGet(long operand)
    Increments this instance's value by `operand`; this method returns the value associated with the instance immediately after the addition operation. This method is not thread safe.
    Parameters:
      `operand` - the quantity to add, not null
    Returns:
      the value associated with this instance after adding the operand
    Since:
      3.5

  - ### addAndGet

    public long addAndGet(Number operand)
    Increments this instance's value by `operand`; this method returns the value associated with the instance immediately after the addition operation. This method is not thread safe.
    Parameters:
      `operand` - the quantity to add, not null
    Returns:
      the value associated with this instance after adding the operand
    Throws:
      `NullPointerException` - if `operand` is null
    Since:
      3.5

  - ### compareTo

    public int compareTo(MutableLong other)
    Compares this mutable to another in ascending order.
    Specified by:
      `compareTo` in interface `Comparable<MutableLong>`
    Parameters:
      `other` - the other mutable to compare to, not null
    Returns:
      negative if this is less, zero if equal, positive if greater

  - ### decrement

    public void decrement()
    Decrements the value.
    Since:
      2.2

  - ### decrementAndGet

    public long decrementAndGet()
    Decrements this instance's value by 1; this method returns the value associated with the instance immediately after the decrement operation. This method is not thread safe.
    Returns:
      the value associated with the instance after it is decremented
    Since:
      3.5

  - ### 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.

  - ### 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.

  - ### 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.

  - ### getAndAdd

    public long getAndAdd(long operand)
    Increments this instance's value by `operand`; this method returns the value associated with the instance immediately prior to the addition operation. This method is not thread safe.
    Parameters:
      `operand` - the quantity to add, not null
    Returns:
      the value associated with this instance immediately before the operand was added
    Since:
      3.5

  - ### getAndAdd

    public long getAndAdd(Number operand)
    Increments this instance's value by `operand`; this method returns the value associated with the instance immediately prior to the addition operation. This method is not thread safe.
    Parameters:
      `operand` - the quantity to add, not null
    Returns:
      the value associated with this instance immediately before the operand was added
    Throws:
      `NullPointerException` - if `operand` is null
    Since:
      3.5

  - ### getAndDecrement

    public long getAndDecrement()
    Decrements this instance's value by 1; this method returns the value associated with the instance immediately prior to the decrement operation. This method is not thread safe.
    Returns:
      the value associated with the instance before it was decremented
    Since:
      3.5

  - ### getAndIncrement

    public long getAndIncrement()
    Increments this instance's value by 1; this method returns the value associated with the instance immediately prior to the increment operation. This method is not thread safe.
    Returns:
      the value associated with the instance before it was incremented
    Since:
      3.5

  - ### getValue

    public Long getValue()
    Gets the value as a Long instance.
    Specified by:
      `getValue` in interface `Mutable<Number>`
    Returns:
      the value as a Long, never null

  - ### hashCode

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

  - ### increment

    public void increment()
    Increments the value.
    Since:
      2.2

  - ### incrementAndGet

    public long incrementAndGet()
    Increments this instance's value by 1; this method returns the value associated with the instance immediately after the increment operation. This method is not thread safe.
    Returns:
      the value associated with the instance after it is incremented
    Since:
      3.5

  - ### 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.

  - ### setValue

    public void setValue(long value)
    Sets the value.
    Parameters:
      `value` - the value to set

  - ### setValue

    public void setValue(Number value)
    Sets the value from any Number instance.
    Specified by:
      `setValue` in interface `Mutable<Number>`
    Parameters:
      `value` - the value to set, not null
    Throws:
      `NullPointerException` - if the object is null

  - ### subtract

    public void subtract(long operand)
    Subtracts a value from the value of this instance.
    Parameters:
      `operand` - the value to subtract, not null
    Since:
      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:
      2.2

  - ### toLong

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

  - ### toString

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