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/OptionalDouble.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.DoubleConsumer; import java.util.function.DoubleSupplier; import java.util.function.Supplier; import java.util.stream.DoubleStream; /** * A container object which may or may not contain a {@code double} 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(double) orElse()} * (returns a default value if no value is present) and * {@link #ifPresent(DoubleConsumer) 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 OptionalDouble} may have unpredictable results and should be avoided. * * @apiNote * {@code OptionalDouble} 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 OptionalDouble} should never itself be {@code null}; it should always point * to an {@code OptionalDouble} instance. * * @since 1.8 */ public final class OptionalDouble { /** * Common instance for {@code empty()}. */ private static final OptionalDouble EMPTY = new OptionalDouble(); /** * If true then the value is present, otherwise indicates no value is present */ private final boolean isPresent; private final double value; /** * Construct an empty instance. * * @implNote generally only one empty instance, {@link OptionalDouble#EMPTY}, * should exist per VM. */ private OptionalDouble() { this.isPresent = false; this.value = Double.NaN; } /** * Returns an empty {@code OptionalDouble} instance. No value is present * for this {@code OptionalDouble}. * * @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 OptionalDouble.empty()}. There is no guarantee that it is a singleton. * Instead, use {@link #isPresent()}. * * @return an empty {@code OptionalDouble}. */ public static OptionalDouble empty() { return EMPTY; } /** * Construct an instance with the described value. * * @param value the double value to describe. */ private OptionalDouble(double value) { this.isPresent = true; this.value = value; } /** * Returns an {@code OptionalDouble} describing the given value. * * @param value the value to describe * @return an {@code OptionalDouble} with the value present */ public static OptionalDouble of(double value) { return new OptionalDouble(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 OptionalDouble} * @throws NoSuchElementException if no value is present */ public double getAsDouble() { 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(DoubleConsumer 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(DoubleConsumer action, Runnable emptyAction) { if (isPresent) { action.accept(value); } else { emptyAction.run(); } } /** * If a value is present, returns a sequential {@link DoubleStream} * containing only that value, otherwise returns an empty * {@code DoubleStream}. * * @apiNote * This method can be used to transform a {@code Stream} of optional doubles * to a {@code DoubleStream} of present doubles: * <pre>{@code * Stream<OptionalDouble> os = .. * DoubleStream s = os.flatMapToDouble(OptionalDouble::stream) * }</pre> * * @return the optional value as a {@code DoubleStream} * @since 9 */ public DoubleStream stream() { if (isPresent) { return DoubleStream.of(value); } else { return DoubleStream.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 double orElse(double 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 double orElseGet(DoubleSupplier supplier) { return isPresent ? value : supplier.getAsDouble(); } /** * If a value is present, returns the value, otherwise throws * {@code NoSuchElementException}. * * @return the value described by this {@code OptionalDouble} * @throws NoSuchElementException if no value is present * @since 10 */ public double 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> double 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 OptionalDouble}. The other object is considered equal if: * <ul> * <li>it is also an {@code OptionalDouble} and; * <li>both instances have no value present or; * <li>the present values are "equal to" each other via * {@code Double.compare() == 0}. * </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 OptionalDouble)) { return false; } OptionalDouble other = (OptionalDouble) obj; return (isPresent && other.isPresent) ? Double.compare(value, other.value) == 0 : 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 ? Double.hashCode(value) : 0; } /** * Returns a non-empty string representation of this {@code OptionalDouble} * 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 OptionalDouble}s must be * unambiguously differentiable. * * @return the string representation of this instance */ @Override public String toString() { return isPresent ? String.format("OptionalDouble[%s]", value) : "OptionalDouble.empty"; } }
⏎ java/util/OptionalDouble.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, 205125👍, 0💬
Popular Posts:
commons-fileupload-1.3.3 -sources.jaris the source JAR file for Apache Commons FileUpload 1.3., whic...
JDK 11 java.naming.jmod is the JMOD file for JDK 11 Naming module. JDK 11 Naming module compiled cla...
What JAR files are required to run dom\Counter.java provided in the Apache Xerces package? You can f...
What Is poi-scratchpad-5.2.3.jar ?poi-scratchpad-5.2.3.jar is one of the JAR files for Apache POI 5....
Apache Log4j provides the interface that applications should code to and provides the adapter compon...