RFR 8164934: Optional.map() javadoc code example is incorrect
Chris Hegarty
chris.hegarty at oracle.com
Wed Nov 9 09:19:43 UTC 2016
On 8 Nov 2016, at 23:52, Paul Sandoz <paul.sandoz at oracle.com> wrote:
>
> Hi,
>
> Please review an update to the api note of Optional.map() which embarrassingly contained erroneous code (labouring under the misapprehension that exception transparency is supported!).
>
> I tweaked the example to refer to a Stream<URI> where a URI is transformed into a Path.
>
This looks fine Paul.
-Chris.
> Paul.
>
> diff -r df7e627c7224 src/java.base/share/classes/java/util/Optional.java
> --- a/src/java.base/share/classes/java/util/Optional.java Tue Nov 08 15:28:44 2016 -0800
> +++ b/src/java.base/share/classes/java/util/Optional.java Tue Nov 08 15:37:23 2016 -0800
> @@ -214,20 +214,20 @@
> * @apiNote
> * This method supports post-processing on {@code Optional} values, without
> * the need to explicitly check for a return status. For example, the
> - * following code traverses a stream of file names, selects one that has not
> - * yet been processed, and then opens that file, returning an
> - * {@code Optional<FileInputStream>}:
> + * following code traverses a stream of URIs, selects one that has not
> + * yet been processed, and creates a path from that URI, returning
> + * an {@code Optional<Path>}:
> *
> * <pre>{@code
> - * Optional<FileInputStream> fis =
> - * names.stream().filter(name -> !isProcessedYet(name))
> + * Optional<Path> p =
> + * uris.stream().filter(uri -> !isProcessedYet(uri))
> * .findFirst()
> - * .map(name -> new FileInputStream(name));
> + * .map(Paths::get);
> * }</pre>
> *
> - * Here, {@code findFirst} returns an {@code Optional<String>}, and then
> - * {@code map} returns an {@code Optional<FileInputStream>} for the desired
> - * file if one exists.
> + * Here, {@code findFirst} returns an {@code Optional<URI>}, and then
> + * {@code map} returns an {@code Optional<Path>} for the desired
> + * URI if one exists.
> *
> * @param mapper the mapping function to apply to a value, if present
> * @param <U> The type of the value returned from the mapping function
More information about the core-libs-dev
mailing list