# Class MutableObject<T>

java.lang.Object
org.apache.commons.lang3.mutable.MutableObject<T>

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

All Implemented Interfaces:
  `Serializable, Supplier<T>, Mutable<T>`

public class MutableObject<T> extends Object implements Mutable<T>, Serializable
A mutable `Object` wrapper.

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

Since:
  2.1
See Also:
  - `AtomicReference`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MutableObject()`
  Constructs a new MutableObject with the default value of `null`.
  `MutableObject(T value)`
  Constructs a new MutableObject with the specified value.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Compares this object against the specified object.
  `T`
  `getValue()`
  Deprecated.
  Use `Mutable.get()`.
  `int`
  `hashCode()`
  Returns the value's hash code or `0` if the value is `null`.
  `void`
  `setValue(T value)`
  Sets the value.
  `String`
  `toString()`
  Returns the String value of this mutable.

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Mutable

  `get`

- ## Constructor Details

  - ### MutableObject

    public MutableObject()
    Constructs a new MutableObject with the default value of `null`.

  - ### MutableObject

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

- ## Method Details

  - ### equals

    public boolean equals(Object obj)
    Compares this object against the specified object. The result is `true` if and only if the argument is not `null` and is a `MutableObject` object that contains the same `T` 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; `true` if the objects have equivalent `value` fields; `false` otherwise.

  - ### getValue

    @Deprecated public T getValue()
    Deprecated.
    Use `Mutable.get()`.
    Gets the value.
    Specified by:
      `getValue` in interface `Mutable<T>`
    Returns:
      the value, may be null.

  - ### hashCode

    public int hashCode()
    Returns the value's hash code or `0` if the value is `null`.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      the value's hash code or `0` if the value is `null`.

  - ### setValue

    public void setValue(T value)
    Sets the value.
    Specified by:
      `setValue` in interface `Mutable<T>`
    Parameters:
      `value` - the value to set.

  - ### toString

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