Class MutableLong

  • All Implemented Interfaces:
    Mutable<Long>, Serializable, Comparable<MutableLong>

    public class MutableLong
    extends Number
    implements Mutable<Long>, Comparable<MutableLong>
    Mutable class wrapper for long 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

      • MutableLong

        public MutableLong()
        Create a mutable Long with an initial value of 0L
      • MutableLong

        public MutableLong​(long initialValue)
        Create a mutable Long.
        Parameters:
        initialValue - the initial value of the long
    • Method Detail

      • getValue

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

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

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

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

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

        public int intValue()
        Specified by:
        intValue 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 Long 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 Long 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 Long 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 Long 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