src/share/classes/java/util/OptionalInt.java

Print this page
rev 8872 : 8028816: Add value-type notice to Optional* classes
Reviewed-by: mduigou
Contributed-by: brian.goetz@oracle.com, bitterfoxc@gmail.com

@@ -29,18 +29,23 @@
 import java.util.function.Supplier;
 
 /**
  * A container object which may or may not contain a {@code int} value.
  * If a value is present, {@code isPresent()} will return {@code true} and
- * {@code get()} will return the value.
+ * {@code getAsInt()} will return the value.
  *
  * <p>Additional methods that depend on the presence or absence of a contained
  * value are provided, such as {@link #orElse(int) orElse()}
  * (return a default value if value not present) and
  * {@link #ifPresent(java.util.function.IntConsumer) ifPresent()} (execute a block
  * of code if the value is present).
  *
+ * <p>This is a <a href="../lang/doc-files/ValueBased.html">value-based</a>
+ * class; use of identity-sensitive operations (including reference equality
+ * ({@code ==}), identity hash code, or synchronization) on instances of
+ * {@code OptionalInt} may have unpredictable effects and should be avoided.
+ *
  * @since 1.8
  */
 public final class OptionalInt {
     /**
      * Common instance for {@code empty()}.