org.jgrapht.util

## Class ModifiableInteger

- java.lang.Object
- - java.lang.Number
  - - org.jgrapht.util.ModifiableInteger

- All Implemented Interfaces:
    Serializable, Comparable<ModifiableInteger>

      public class ModifiableInteger
      extends Number
      implements Comparable<ModifiableInteger>

  The `ModifiableInteger` class wraps a value of the primitive type `int` in an object, similarly to `Integer`. An object of type `ModifiableInteger` contains a single field whose type is `int`.

  Unlike `java.lang.Integer`, the int value which the ModifiableInteger represents can be modified. It becomes useful when used together with the collection framework. For example, if you want to have a `List` of counters. You could use `Integer` but that would have became wasteful and inefficient if you frequently had to update the counters.

  WARNING: Because instances of this class are mutable, great care must be exercised if used as keys of a `Map` or as values in a `Set` in a manner that affects equals comparisons while the instances are keys in the map (or values in the set). For more see documentation of `Map` and `Set`.

  Since:
    May 27, 2004
  Author:
    Barak Naveh
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `value` The int value represented by this `ModifiableInteger`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ModifiableInteger()` Deprecated. not really deprecated, just marked so to avoid mistaken use.
    `ModifiableInteger(int value)` Constructs a newly allocated `ModifiableInteger` object that represents the specified `int` value.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(ModifiableInteger anotherInteger)` Compares two `ModifiableInteger` objects numerically.
    `void` | `decrement()` Subtracts one from the value of this modifiable integer.
    `double` | `doubleValue()`
    `boolean` | `equals(Object o)` Compares this object to the specified object.
    `float` | `floatValue()`
    `int` | `getValue()` Returns the value of this object, similarly to `intValue()`.
    `int` | `hashCode()` Returns a hash code for this `ModifiableInteger`.
    `void` | `increment()` Adds one to the value of this modifiable integer.
    `int` | `intValue()`
    `long` | `longValue()`
    `void` | `setValue(int value)` Sets a new value for this modifiable integer.
    `Integer` | `toInteger()` Returns an `Integer` object representing this `ModifiableInteger`'s value.
    `String` | `toString()` Returns a `String` object representing this `ModifiableInteger`'s value.

    - ### Methods inherited from class java.lang.Number

      `byteValue, shortValue`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### value

          public int value

      The int value represented by this `ModifiableInteger`.

  - ### Constructor Detail

    - #### ModifiableInteger

          @Deprecated
          public ModifiableInteger()

      Deprecated. not really deprecated, just marked so to avoid mistaken use.
      !!! DON'T USE - Use the `ModifiableInteger(int)` constructor instead !!!

      This constructor is for the use of java.beans.XMLDecoder deserialization. The constructor is marked as 'deprecated' to indicate to the programmer against using it by mistake.

    - #### ModifiableInteger

          public ModifiableInteger(int value)

      Constructs a newly allocated `ModifiableInteger` object that represents the specified `int` value.
      Parameters:
        `value` - the value to be represented by the `ModifiableInteger` object.

  - ### Method Detail

    - #### setValue

          public void setValue(int value)

      Sets a new value for this modifiable integer.
      Parameters:
        `value` - the new value to set.

    - #### getValue

          public int getValue()

      Returns the value of this object, similarly to `intValue()`. This getter is NOT redundant. It is used for serialization by java.beans.XMLEncoder.
      Returns:
        the value.

    - #### increment

          public void increment()

      Adds one to the value of this modifiable integer.

    - #### decrement

          public void decrement()

      Subtracts one from the value of this modifiable integer.

    - #### compareTo

          public int compareTo(ModifiableInteger anotherInteger)

      Compares two `ModifiableInteger` objects numerically.
      Specified by:
        `compareTo` in interface `Comparable<ModifiableInteger>`
      Parameters:
        `anotherInteger` - the `ModifiableInteger` to be compared.
      Returns:
        the value `0` if this `ModifiableInteger` is equal to the argument `ModifiableInteger`; a value less than `0` if this `ModifiableInteger` is numerically less than the argument `ModifiableInteger`; and a value greater than `0` if this `ModifiableInteger` is numerically greater than the argument `ModifiableInteger` (signed comparison).

    - #### doubleValue

          public double doubleValue()

      Specified by:
        `doubleValue` in class `Number`
      See Also:
        `Number.doubleValue()`

    - #### equals

          public boolean equals(Object o)

      Compares this object to the specified object. The result is `true` if and only if the argument is not `null` and is an `ModifiableInteger` object that contains the same `int` value as this object.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `o` - the object to compare with.
      Returns:
        `true` if the objects are the same; `false` otherwise.

    - #### floatValue

          public float floatValue()

      Specified by:
        `floatValue` in class `Number`
      See Also:
        `Number.floatValue()`

    - #### hashCode

          public int hashCode()

      Returns a hash code for this `ModifiableInteger`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code value for this object, equal to the primitive `int` value represented by this `ModifiableInteger` object.

    - #### intValue

          public int intValue()

      Specified by:
        `intValue` in class `Number`
      See Also:
        `Number.intValue()`

    - #### longValue

          public long longValue()

      Specified by:
        `longValue` in class `Number`
      See Also:
        `Number.longValue()`

    - #### toInteger

          public Integer toInteger()

      Returns an `Integer` object representing this `ModifiableInteger`'s value.
      Returns:
        an `Integer` representation of the value of this object.

    - #### toString

          public String toString()

      Returns a `String` object representing this `ModifiableInteger`'s value. The value is converted to signed decimal representation and returned as a string, exactly as if the integer value were given as an argument to the `Integer.toString(int)` method.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of the value of this object in base 10.

Copyright © 2016. All rights reserved.