When I first use gradle` as the main build mechanism for a java based project (including also some kotlin code), I realised that the unit test report (based on junit5) was different compared to a maven report using the surefire plugin.
In JDK12, a new feature (out for 32) in the Stream API has been introduced and is a new collector, called teeing()
which is provided by the Collectors utility class. The teeing()
collector takes takes three arguments, two Collectors and a BiFunction for merging the results from the two collectors. The full story behind this new feature can be found here.
One of 90 features that have been introduced in JDK 11, is the support of the local variables as lambda parameters. This features was described in JEP-323: Local-Variables-Syntac for Lambda Parameters and can be considered as an extension of JEP-286: Local-Variable Type Inference. Now, the developes does not longer need to explicitly state the type of a local-variable but instead, use var
as depicted in the code exceprt below, since it extends the use of this syntax to the parameters of Lambda expressions.