MWE:
import java.util.Comparator;
import java.util.TreeMap;
import static java.util.Arrays.asList;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.mapping;
import static java.util.stream.Collectors.toList;
public class ShouldCompileInEclipse {
void doesNotCompileInEclipse() {
asList("eclipse").stream()
.collect(groupingBy(
this::function,
() -> new TreeMap<>(Comparator.reverseOrder()),
mapping(this::function, toList())));
}
String function(String s) {
return s;
}
}
Why the code will not compile under Eclipse?
Version: Neon.1a Release (4.6.1)
Build id: 20161007-1200
The error is:
Cannot infer type arguments for TreeMap<>
It compiles successfully by javac 1.8.0_102