# Class MutableShort

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

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

public class MutableShort extends Number implements Comparable<MutableShort>, Mutable<Number>
A mutable `short` wrapper.

This class was created before the introduction of the the `java.util.concurrent.atomic` package and the `AtomicInteger` class.

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

Since:
  2.1
See Also:
  - `Short`
  - `AtomicInteger`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MutableShort()`
  Constructs a new MutableShort with the default value of zero.
  `MutableShort(short value)`
  Constructs a new MutableShort with the specified value.
  `MutableShort(Number value)`
  Constructs a new MutableShort with the specified value.
  `MutableShort(String value)`
  Constructs a new MutableShort parsing the given string.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(short operand)`
  Adds a value to the value of this instance.
  `void`
  `add(Number operand)`
  Adds a value to the value of this instance.
  `short`
  `addAndGet(short operand)`
  Increments this instance's value by `operand`; this method returns the value associated with the instance immediately after the addition operation.
  `short`
  `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(MutableShort other)`
  Compares this mutable to another in ascending order.
  `void`
  `decrement()`
  Decrements the value.
  `short`
  `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 MutableShort as a double.
  `boolean`
  `equals(Object obj)`
  Compares this object to the specified object.
  `float`
  `floatValue()`
  Returns the value of this MutableShort as a float.
  `short`
  `getAndAdd(short operand)`
  Increments this instance's value by `operand`; this method returns the value associated with the instance immediately prior to the addition operation.
  `short`
  `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.
  `short`
  `getAndDecrement()`
  Decrements this instance's value by 1; this method returns the value associated with the instance immediately prior to the decrement operation.
  `short`
  `getAndIncrement()`
  Increments this instance's value by 1; this method returns the value associated with the instance immediately prior to the increment operation.
  `Short`
  `getValue()`
  Deprecated.
  Use `Mutable.get()`.
  `int`
  `hashCode()`
  Returns a suitable hash code for this mutable.
  `void`
  `increment()`
  Increments the value.
  `short`
  `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 MutableShort as an int.
  `long`
  `longValue()`
  Returns the value of this MutableShort as a long.
  `void`
  `setValue(short value)`
  Sets the value.
  `void`
  `setValue(Number value)`
  Sets the value from any Number instance.
  `short`
  `shortValue()`
  Returns the value of this MutableShort as a short.
  `void`
  `subtract(short operand)`
  Subtracts a value from the value of this instance.
  `void`
  `subtract(Number operand)`
  Subtracts a value from the value of this instance.
  `Short`
  `toShort()`
  Gets this mutable as an instance of Short.
  `String`
  `toString()`
  Returns the String value of this mutable.

  ### Methods inherited from class Number

  `byteValue`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Mutable

  `get`

- ## Constructor Details

  - ### MutableShort

    public MutableShort()
    Constructs a new MutableShort with the default value of zero.

  - ### MutableShort

    public MutableShort(Number value)
    Constructs a new MutableShort with the specified value.
    Parameters:
      `value` - the initial value to store, not null.
    Throws:
      `NullPointerException` - if the object is null.

  - ### MutableShort

    public MutableShort(short value)
    Constructs a new MutableShort with the specified value.
    Parameters:
      `value` - the initial value to store.

  - ### MutableShort

    public MutableShort(String value)
    Constructs a new MutableShort parsing the given string.
    Parameters:
      `value` - the string to parse, not null.
    Throws:
      `NumberFormatException` - if the string cannot be parsed into a short, see `Short.parseShort(String)`.
    Since:
      2.5

- ## Method Details

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

  - ### add

    public void add(short operand)
    Adds a value to the value of this instance.
    Parameters:
      `operand` - the value to add, not null.
    Since:
      2.2

  - ### addAndGet

    public short 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

  - ### addAndGet

    public short addAndGet(short 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

  - ### compareTo

    public int compareTo(MutableShort other)
    Compares this mutable to another in ascending order.
    Specified by:
      `compareTo` in interface `Comparable<MutableShort>`
    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 short 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 MutableShort 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 `MutableShort` object that contains the same `short` 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 MutableShort as a float.
    Specified by:
      `floatValue` in class `Number`
    Returns:
      the numeric value represented by this object after conversion to type float.

  - ### getAndAdd

    public short 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

  - ### getAndAdd

    public short getAndAdd(short 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

  - ### getAndDecrement

    public short 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 short 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

    @Deprecated public Short getValue()
    Deprecated.
    Use `Mutable.get()`.
    Gets the value as a Short instance.
    Specified by:
      `getValue` in interface `Mutable<Number>`
    Returns:
      the value as a Short, 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 short 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 MutableShort 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 MutableShort 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(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.

  - ### setValue

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

  - ### shortValue

    public short shortValue()
    Returns the value of this MutableShort as a short.
    Overrides:
      `shortValue` in class `Number`
    Returns:
      the numeric value represented by this object after conversion to type short.

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

  - ### subtract

    public void subtract(short operand)
    Subtracts a value from the value of this instance.
    Parameters:
      `operand` - the value to subtract, not null.
    Since:
      2.2

  - ### toShort

    public Short toShort()
    Gets this mutable as an instance of Short.
    Returns:
      a Short 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.