Module java.base
Package java.util

# Class OptionalLong

≠
public final class OptionalLong
extends java.lang.Object
Comparing jdk-master and valhalla-csr-open

public final class OptionalLong extends Object
A container object which may or may not contain a `long` value. If a value is present, `isPresent()` returns `true` . If no value is present, the object is considered empty and `isPresent()` returns `false` .

Additional methods that depend on the presence or absence of a contained value are provided, such as `orElse()` (returns a default value if no value is present) and `ifPresent()` (performs an action if a value is present).

This is a value-based class; programmers should treat instances that are equal as interchangeable and should not use instances for synchronization, or unpredictable behavior may occur. For example, in a future release, synchronization may fail mutexes, or with object references.

When preview features are enabled, `OptionalLong` is a value classPREVIEW . Use of value class instances for synchronization, mutexes, or with object references result in `IdentityException` PREVIEW Moved out of a paragraph.Moved to a division with class preview-block.Moved to a division with class preview-comment..

API Note:
  `OptionalLong` is primarily intended for use as a method return type where there is a clear need to represent "no result." A variable whose type is `OptionalLong` should never itself be `null` ; it should always point to an `OptionalLong` instance.
Since:
  1.8

## Methods

- =
  public static java.util.OptionalLong empty()
- =
  public boolean equals(java.lang.Object arg0)
- =
  public long getAsLong()
- =
  public int hashCode()
- =
  public void ifPresent(java.util.function.LongConsumer arg0)
- =
  public void ifPresentOrElse(java.util.function.LongConsumer arg0, java.lang.Runnable arg1)
- =
  public boolean isEmpty()
- =
  public boolean isPresent()
- =
  public static java.util.OptionalLong of(long arg0)
- =
  public long orElse(long arg0)
- =
  public long orElseGet(java.util.function.LongSupplier arg0)
- =
  public long orElseThrow()
- =
  public <X> long orElseThrow(java.util.function.Supplier<? extends X> arg0) throws X
- =
  public java.util.stream.LongStream stream()
- =
  public java.lang.String toString()

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
OptionalLong |  |  |  |  |  |  | 7 | 2 |  | 9
Total |  |  |  |  |  |  | 7 | 2 |  | 9