< prev index next >

src/java.base/share/classes/java/util/Optional.java

Print this page
rev 15764 : 8152617: add missing wildcards to Optional or() and flatMap()
Reviewed-by: XXX

*** 1,7 **** /* ! * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 262,277 **** * function to the value of this {@code Optional}, if a value is * present, otherwise an empty {@code Optional} * @throws NullPointerException if the mapping function is {@code null} or * returns a {@code null} result */ ! public<U> Optional<U> flatMap(Function<? super T, Optional<U>> mapper) { Objects.requireNonNull(mapper); if (!isPresent()) { return empty(); } else { ! return Objects.requireNonNull(mapper.apply(value)); } } /** * If a value is present, returns an {@code Optional} describing the value, --- 262,279 ---- * function to the value of this {@code Optional}, if a value is * present, otherwise an empty {@code Optional} * @throws NullPointerException if the mapping function is {@code null} or * returns a {@code null} result */ ! public<U> Optional<U> flatMap(Function<? super T, ? extends Optional<? extends U>> mapper) { Objects.requireNonNull(mapper); if (!isPresent()) { return empty(); } else { ! @SuppressWarnings("unchecked") ! Optional<U> r = (Optional<U>) mapper.apply(value); ! return Objects.requireNonNull(r); } } /** * If a value is present, returns an {@code Optional} describing the value,
*** 284,299 **** * {@code Optional} produced by the supplying function. * @throws NullPointerException if the supplying function is {@code null} or * produces a {@code null} result * @since 9 */ ! public Optional<T> or(Supplier<Optional<T>> supplier) { Objects.requireNonNull(supplier); if (isPresent()) { return this; } else { ! return Objects.requireNonNull(supplier.get()); } } /** * If a value is present, returns a sequential {@link Stream} containing --- 286,303 ---- * {@code Optional} produced by the supplying function. * @throws NullPointerException if the supplying function is {@code null} or * produces a {@code null} result * @since 9 */ ! public Optional<T> or(Supplier<? extends Optional<? extends T>> supplier) { Objects.requireNonNull(supplier); if (isPresent()) { return this; } else { ! @SuppressWarnings("unchecked") ! Optional<T> r = (Optional<T>) supplier.get(); ! return Objects.requireNonNull(r); } } /** * If a value is present, returns a sequential {@link Stream} containing
< prev index next >