Package org.apache.commons.lang.mutable

# Class MutableInt

java.lang.Object
java.lang.Number
org.apache.commons.lang.mutable.MutableInt

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

public class MutableInt extends Number implements Comparable, Mutable
A mutable `int` wrapper.

Since:
  2.1
Version:
  $Id: MutableInt.java 905707 2010-02-02 16:59:59Z niallp $
See Also:
  - `Integer`
  - Serialized Form

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`void`
`add(int 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 MutableInt as a double.
`boolean`
`equals(Object obj)`
Compares this object to the specified object.
`float`
`floatValue()`
Returns the value of this MutableInt as a float.
`Object`
`getValue()`
Gets the value as a Integer instance.
`int`
`hashCode()`
Returns a suitable hash code for this mutable.
`void`
`increment()`
Increments the value.
`int`
`intValue()`
Returns the value of this MutableInt as an int.
`long`
`longValue()`
Returns the value of this MutableInt as a long.
`void`
`setValue(int value)`
Sets the value.
`void`
`setValue(Object value)`
Sets the value from any Number instance.
`void`
`subtract(int operand)`
Subtracts a value from the value of this instance.
`void`
`subtract(Number operand)`
Subtracts a value from the value of this instance.
`Integer`
`toInteger()`
Gets this mutable as an instance of Integer.
`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

### MutableInt

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

### MutableInt

public MutableInt(int value)
Constructs a new MutableInt with the specified value.

Parameters:
  `value` - the initial value to store

### MutableInt

public MutableInt(Number value)
Constructs a new MutableInt with the specified value.

Parameters:
  `value` - the initial value to store, not null
Throws:
  `NullPointerException` - if the object is null

### MutableInt

public MutableInt(String value) throws NumberFormatException
Constructs a new MutableInt parsing the given string.

Parameters:
  `value` - the string to parse, not null
Throws:
  `NumberFormatException` - if the string cannot be parsed into an int
Since:
  2.5

## Method Details

### getValue

public Object getValue()
Gets the value as a Integer instance.

Specified by:
  `getValue` in interface `Mutable`
Returns:
  the value as a Integer, never null

### setValue

public void setValue(int 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(int 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(int 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 MutableInt 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 MutableInt 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 MutableInt 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 MutableInt as a double.

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

### toInteger

public Integer toInteger()
Gets this mutable as an instance of Integer.

Returns:
  a Integer 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 `MutableInt` object that contains the same `int` 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 MutableInt

### toString

public String toString()
Returns the String value of this mutable.

Overrides:
  `toString` in class `Object`
Returns:
  the mutable value as a string