Collectors.joining() simplified [patch]
Tomasz Linkowski
t.linkowski at gmail.com
Tue Feb 5 05:36:31 UTC 2019
Hi,
I found out that `Collectors.joining()` can be simplified as follows:
1) `<CharSequence, StringBuilder, String>` reduced to `<>`
2) `(r1, r2) -> { r1.append(r2); return r1; }` replaced with
`StringBuilder::append`
If such a small contribution is considered worthwhile, please sponsor it
(patch below).
Regards,
Tomasz Linkowski
PS. I've signed the OCA.
===================================================================
--- src/java.base/share/classes/java/util/stream/Collectors.java
+++ src/java.base/share/classes/java/util/stream/Collectors.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights
reserved.
+ * Copyright (c) 2012, 2019, 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
@@ -365,9 +365,8 @@
* {@code String}, in encounter order
*/
public static Collector<CharSequence, ?, String> joining() {
- return new CollectorImpl<CharSequence, StringBuilder, String>(
- StringBuilder::new, StringBuilder::append,
- (r1, r2) -> { r1.append(r2); return r1; },
+ return new CollectorImpl<>(
+ StringBuilder::new, StringBuilder::append,
StringBuilder::append,
StringBuilder::toString, CH_NOID);
}
More information about the core-libs-dev
mailing list