Mutable (Apache Commons Lang 3.17.0 API)
Description: declaration: package: org.apache.commons.lang3.mutable, interface: Mutable

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

  Modifier and Type
  Method
  Description
  `T`
  `getValue()`
  Gets the value of this mutable.
  `void`
  `setValue(T value)`
  Sets the value of this mutable.

- ## Method Details

  - ### 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:
      `NullPointerException` - if the object is null and null is invalid
      `ClassCastException` - if the type is invalid