Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 java.base.jmod - Base Module
JDK 11 java.base.jmod is the JMOD file for JDK 11 Base module.
JDK 11 Base module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\java.base.jmod.
JDK 11 Base module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Base module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\java.base.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ java/util/OptionalInt.java
/* * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.util; import java.util.function.IntConsumer; import java.util.function.IntSupplier; import java.util.function.Supplier; import java.util.stream.IntStream; /** * A container object which may or may not contain an {@code int} value. * If a value is present, {@code isPresent()} returns {@code true}. If no * value is present, the object is considered <i>empty</i> and * {@code isPresent()} returns {@code false}. * * <p>Additional methods that depend on the presence or absence of a contained * value are provided, such as {@link #orElse(int) orElse()} * (returns a default value if no value is present) and * {@link #ifPresent(IntConsumer) ifPresent()} (performs an * action if a 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 results and should be avoided. * * @apiNote * {@code OptionalInt} 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 * {@code OptionalInt} should never itself be {@code null}; it should always point * to an {@code OptionalInt} instance. * * @since 1.8 */ public final class OptionalInt { /** * Common instance for {@code empty()}. */ private static final OptionalInt EMPTY = new OptionalInt(); /** * If true then the value is present, otherwise indicates no value is present */ private final boolean isPresent; private final int value; /** * Construct an empty instance. * * @implNote Generally only one empty instance, {@link OptionalInt#EMPTY}, * should exist per VM. */ private OptionalInt() { this.isPresent = false; this.value = 0; } /** * Returns an empty {@code OptionalInt} instance. No value is present for * this {@code OptionalInt}. * * @apiNote * Though it may be tempting to do so, avoid testing if an object is empty * by comparing with {@code ==} against instances returned by * {@code OptionalInt.empty()}. There is no guarantee that it is a singleton. * Instead, use {@link #isPresent()}. * * @return an empty {@code OptionalInt} */ public static OptionalInt empty() { return EMPTY; } /** * Construct an instance with the described value. * * @param value the int value to describe */ private OptionalInt(int value) { this.isPresent = true; this.value = value; } /** * Returns an {@code OptionalInt} describing the given value. * * @param value the value to describe * @return an {@code OptionalInt} with the value present */ public static OptionalInt of(int value) { return new OptionalInt(value); } /** * If a value is present, returns the value, otherwise throws * {@code NoSuchElementException}. * * @apiNote * The preferred alternative to this method is {@link #orElseThrow()}. * * @return the value described by this {@code OptionalInt} * @throws NoSuchElementException if no value is present */ public int getAsInt() { if (!isPresent) { throw new NoSuchElementException("No value present"); } return value; } /** * If a value is present, returns {@code true}, otherwise {@code false}. * * @return {@code true} if a value is present, otherwise {@code false} */ public boolean isPresent() { return isPresent; } /** * If a value is not present, returns {@code true}, otherwise * {@code false}. * * @return {@code true} if a value is not present, otherwise {@code false} * @since 11 */ public boolean isEmpty() { return !isPresent; } /** * If a value is present, performs the given action with the value, * otherwise does nothing. * * @param action the action to be performed, if a value is present * @throws NullPointerException if value is present and the given action is * {@code null} */ public void ifPresent(IntConsumer action) { if (isPresent) { action.accept(value); } } /** * If a value is present, performs the given action with the value, * otherwise performs the given empty-based action. * * @param action the action to be performed, if a value is present * @param emptyAction the empty-based action to be performed, if no value is * present * @throws NullPointerException if a value is present and the given action * is {@code null}, or no value is present and the given empty-based * action is {@code null}. * @since 9 */ public void ifPresentOrElse(IntConsumer action, Runnable emptyAction) { if (isPresent) { action.accept(value); } else { emptyAction.run(); } } /** * If a value is present, returns a sequential {@link IntStream} containing * only that value, otherwise returns an empty {@code IntStream}. * * @apiNote * This method can be used to transform a {@code Stream} of optional * integers to an {@code IntStream} of present integers: * <pre>{@code * Stream<OptionalInt> os = .. * IntStream s = os.flatMapToInt(OptionalInt::stream) * }</pre> * * @return the optional value as an {@code IntStream} * @since 9 */ public IntStream stream() { if (isPresent) { return IntStream.of(value); } else { return IntStream.empty(); } } /** * If a value is present, returns the value, otherwise returns * {@code other}. * * @param other the value to be returned, if no value is present * @return the value, if present, otherwise {@code other} */ public int orElse(int other) { return isPresent ? value : other; } /** * If a value is present, returns the value, otherwise returns the result * produced by the supplying function. * * @param supplier the supplying function that produces a value to be returned * @return the value, if present, otherwise the result produced by the * supplying function * @throws NullPointerException if no value is present and the supplying * function is {@code null} */ public int orElseGet(IntSupplier supplier) { return isPresent ? value : supplier.getAsInt(); } /** * If a value is present, returns the value, otherwise throws * {@code NoSuchElementException}. * * @return the value described by this {@code OptionalInt} * @throws NoSuchElementException if no value is present * @since 10 */ public int orElseThrow() { if (!isPresent) { throw new NoSuchElementException("No value present"); } return value; } /** * If a value is present, returns the value, otherwise throws an exception * produced by the exception supplying function. * * @apiNote * A method reference to the exception constructor with an empty argument * list can be used as the supplier. For example, * {@code IllegalStateException::new} * * @param <X> Type of the exception to be thrown * @param exceptionSupplier the supplying function that produces an * exception to be thrown * @return the value, if present * @throws X if no value is present * @throws NullPointerException if no value is present and the exception * supplying function is {@code null} */ public<X extends Throwable> int orElseThrow(Supplier<? extends X> exceptionSupplier) throws X { if (isPresent) { return value; } else { throw exceptionSupplier.get(); } } /** * Indicates whether some other object is "equal to" this * {@code OptionalInt}. The other object is considered equal if: * <ul> * <li>it is also an {@code OptionalInt} and; * <li>both instances have no value present or; * <li>the present values are "equal to" each other via {@code ==}. * </ul> * * @param obj an object to be tested for equality * @return {@code true} if the other object is "equal to" this object * otherwise {@code false} */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof OptionalInt)) { return false; } OptionalInt other = (OptionalInt) obj; return (isPresent && other.isPresent) ? value == other.value : isPresent == other.isPresent; } /** * Returns the hash code of the value, if present, otherwise {@code 0} * (zero) if no value is present. * * @return hash code value of the present value or {@code 0} if no value is * present */ @Override public int hashCode() { return isPresent ? Integer.hashCode(value) : 0; } /** * Returns a non-empty string representation of this {@code OptionalInt} * suitable for debugging. The exact presentation format is unspecified and * may vary between implementations and versions. * * @implSpec * If a value is present the result must include its string representation * in the result. Empty and present {@code OptionalInt}s must be * unambiguously differentiable. * * @return the string representation of this instance */ @Override public String toString() { return isPresent ? String.format("OptionalInt[%s]", value) : "OptionalInt.empty"; } }
⏎ java/util/OptionalInt.java
Or download all of them as a single archive file:
File name: java.base-11.0.1-src.zip File size: 8740354 bytes Release date: 2018-11-04 Download
2020-05-29, 205225👍, 0💬
Popular Posts:
Guava is a suite of core and expanded libraries that include utility classes, google's collections, ...
JDK 11 java.management.jmod is the JMOD file for JDK 11 Management module. JDK 11 Management module ...
What Is HttpComponents httpclient-4.2.2.jar? HttpComponents httpclient-4.2.2.jar is the JAR file for...
XML Serializer, Release 2.7.1, allows you to write out XML, HTML etc. as a stream of characters from...
How to download and install JDK (Java Development Kit) 1.4? If you want to write Java applications, ...