Class Optional<T>

  • Type Parameters:
    T - stored value.
    All Implemented Interfaces:
    java.io.Serializable

    public class Optional<T>
    extends java.lang.Object
    implements java.io.Serializable
    Option class
    See Also:
    Serialized Form
    • Field Detail

      • val

        private final T val
    • Constructor Detail

      • Optional

        private Optional​(T val)
      • Optional

        private Optional()
    • Method Detail

      • orElse

        public T orElse​(T elseVal)
      • none

        public static <T> Optional<T> none()
        Produce empty Option
        Type Parameters:
        T - type
        Returns:
        empty option
      • of

        public static <T> Optional<T> of​(T val)
        Wrap the existing value in Option.
        Type Parameters:
        T - type
        Parameters:
        val - value to wrap
        Returns:
        option with value
      • eitherOf

        public static <T> Optional<T> eitherOf​(T val)
      • hasValue

        public boolean hasValue()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • get

        public T get()
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object