Class MutableInteger

  • All Implemented Interfaces:
    Mutable<Integer>, Serializable, Comparable<MutableInteger>

    public class MutableInteger
    extends Number
    implements Mutable<Integer>, Comparable<MutableInteger>
    Mutable class wrapper for integer values. Mutable classes are useful in lambda expressions or anonymous classes which want to alter the content of a variable but are limited to final or effective final variables. Be aware that the hashcode changes if the value is updated resulting in the object not being retrievable in hash collections.
    Since:
    1.0.0 com.github.kilianB
    Author:
    Kilian
    See Also:
    Serialized Form
    • Constructor Detail

      • MutableInteger

        public MutableInteger()
        Create a mutable Integer with an initial value of 0
      • MutableInteger

        public MutableInteger​(int initialValue)
        Create a mutable Integer.
        Parameters:
        initialValue - the initial value of the integer
    • Method Detail

      • getValue

        public Integer getValue()
        Description copied from interface: Mutable
        Get an object encapsulating the current value
        Specified by:
        getValue in interface Mutable<Integer>
        Returns:
        The current value as an immutable base object
      • setValue

        public void setValue​(Integer newValue)
        Description copied from interface: Mutable
        Set the internal field to the new value
        Specified by:
        setValue in interface Mutable<Integer>
        Parameters:
        newValue - the new value
      • setValue

        public void setValue​(int newValue)
        Set the internal field to the new value
        Parameters:
        newValue - the new value
        Since:
        1.2.0 com.github.kilianB
      • intValue

        public int intValue()
        Specified by:
        intValue in class Number
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • longValue

        public long longValue()
        Specified by:
        longValue in class Number
      • floatValue

        public float floatValue()
        Specified by:
        floatValue in class Number
      • doubleValue

        public double doubleValue()
        Specified by:
        doubleValue in class Number
      • getAndIncrement

        public Integer getAndIncrement()
        Return the internal value and increment it afterwards.
        Returns:
        the value of the internal field before performing the increment operation.
        Since:
        1.2.0 com.github.kilianB
      • incrementAndGet

        public Integer incrementAndGet()
        Increment the internal value and return the result.
        Returns:
        the new value after after performing the increment operation.
        Since:
        1.2.0 com.github.kilianB
      • getAndDecrement

        public Integer getAndDecrement()
        Return the internal value and decrement it afterwards.
        Returns:
        the value of the internal field before performing the decrement operation.
        Since:
        1.2.0 com.github.kilianB
      • decrementAndGet

        public Integer decrementAndGet()
        Decrement the internal value and return the result.
        Returns:
        the new value after after performing the decrement operation.
        Since:
        1.2.0 com.github.kilianB