Вот 2 фрагмента кода, которые должны возвращать тот же результат, который я использовал HashMap
в map factory
. Но второй фрагмент кода не компилируется в IntelliJ. Оба кода прекрасно работают в Eclipse.
System.out.println
метод требует что-то, где он может вызвать toString
, но в IntelliJ я получаю эту странную ошибку, почему?
Скомпилируемый код (Eclipse и IntelliJ):
System.out.println(Arrays.stream(str.split(" "))
.collect(Collectors.groupingBy(
Function.identity(),
Collectors.counting())));
Ошибочный код (работает в Eclipse, но не работает только в IntelliJ):
System.out.println(Arrays.stream(str.split(" "))
.collect(Collectors.groupingBy(
Function.identity(),
HashMap::new,
Collectors.counting())));
Ошибка для второго фрагмента в IntelliJ
Required type: String
Provided: Map
<java.lang.String,java.lang.Long> no instance(s) of type variable(s) K, V exist so that HashMap<K, V> conforms to String