Package: java.util

## Class OptionalInt

- - ### Methods Summary

    Methods
    Return type | Name and parameters
    --- | ---
    `OptionalInt` | `filter(IntPredicate test)` If a value is present in the `OptionalInt`, tests the value using the given predicate and returns the optional if the test returns true or else empty.
    `int` | `get()` If a value is present in the `OptionalInt`, returns the value.
    `Optional` | `mapToObj(IntFunction mapper)` If a value is present in the `OptionalInt`, returns an `Optional` consisting of the result of applying the given function to the value or else empty.
    `OptionalInt` | `peek(IntConsumer action)` If a value is present in the `OptionalInt`, executes the specified `action` with the value as input and then returns `self`.
    `IntStream` | `stream()` If a value is present in the OptionalInt, returns an IntStream with the value as its source or else an empty stream.

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

    `addShutdownHook`, `any`, `any`, `asBoolean`, `asType`, `collect`, `collect`, `collect`, `dump`, `each`, `eachMatch`, `eachMatch`, `eachWithIndex`, `every`, `every`, `find`, `find`, `findAll`, `findAll`, `findIndexOf`, `findIndexOf`, `findIndexValues`, `findIndexValues`, `findLastIndexOf`, `findLastIndexOf`, `findResult`, `findResult`, `findResult`, `findResult`, `getAt`, `getMetaClass`, `getMetaPropertyValues`, `getProperties`, `grep`, `grep`, `hasProperty`, `identity`, `inject`, `inject`, `inspect`, `invokeMethod`, `is`, `isCase`, `isNotCase`, `iterator`, `metaClass`, `print`, `print`, `printf`, `printf`, `println`, `println`, `println`, `putAt`, `respondsTo`, `respondsTo`, `setMetaClass`, `split`, `sprintf`, `sprintf`, `stream`, `tap`, `toString`, `use`, `use`, `use`, `with`, `with`, `withCloseable`, `withMethodClosure`, `withStream`, `withTraits`

- - ### Methods Detail

    - #### public OptionalInt filter(IntPredicate test)

      If a value is present in the `OptionalInt`, tests the value using the given predicate and returns the optional if the test returns true or else empty.

          assert !OptionalInt.empty().filter(i -> true).isPresent()
          assert  OptionalInt.of(1234).filter(i -> true).isPresent()
          assert !OptionalInt.of(1234).filter(i -> false).isPresent()
          assert  OptionalInt.of(1234).filter(i -> true).getAsInt() == 1234

      Parameters:
      Since:
        3.0.0

    - #### public int get()

      If a value is present in the `OptionalInt`, returns the value.

          assert OptionalInt.of(1234).get() == 1234

      Since:
        3.0.0

    - #### public Optional mapToObj(IntFunction mapper)

      If a value is present in the `OptionalInt`, returns an `Optional` consisting of the result of applying the given function to the value or else empty.

          assert !OptionalInt.empty().mapToObj(x -> new Object()).isPresent()
          assert  OptionalInt.of(1234).mapToObj(x -> new Object()).isPresent()
          assert !OptionalInt.of(1234).mapToObj(x -> null).isPresent()
          assert  OptionalInt.of(1234).mapToObj(Integer::toString).get() == '1234'

      Parameters:
      Since:
        3.0.0

    - #### public OptionalInt peek(IntConsumer action)

      If a value is present in the `OptionalInt`, executes the specified `action` with the value as input and then returns `self`.

          boolean called = false
          def opt = OptionalInt.empty()
          def out = opt.peek{ called = true }
          assert out === opt
          assert !called

          opt = OptionalInt.of(42)
          out = opt.peek{ assert it == 42; called = true }
          assert out === opt
          assert called

      Parameters:
      Since:
        5.0.0

    - #### public IntStream stream()

      If a value is present in the OptionalInt, returns an IntStream with the value as its source or else an empty stream.

      Since:
        3.0.0