Package org.apache.commons.lang3.mutable

## Interface Mutable<T>

Type Parameters:
  `T` - the type to set and get

All Known Implementing Classes:
  `MutableBoolean`, `MutableByte`, `MutableDouble`, `MutableFloat`, `MutableInt`, `MutableLong`, `MutableObject`, `MutableShort`

    public interface Mutable<T>

Provides mutable access to a value.

`Mutable` is used as a generic interface to the implementations in this package.

A typical use case would be to enable a primitive or string to be passed to a method and allow that method to effectively change the value of the primitive/string. Another use case is to store a frequently changing primitive in a collection (for example a total in a map) without needing to create new Integer/Long wrapper objects.

Since:
  2.1

### Method Summary

All Methods Instance Methods Abstract Methods
`T` `getValue()` Gets the value of this mutable.
`void` `setValue​(T value)` Sets the value of this mutable.

### Method Detail

#### getValue

    T getValue()

Gets the value of this mutable.

Returns:
  the stored value

#### setValue

    void setValue​(T value)

Sets the value of this mutable.

Parameters:
  `value` - the value to store
Throws:
  `java.lang.NullPointerException` - if the object is null and null is invalid
  `java.lang.ClassCastException` - if the type is invalid