У меня есть следующий код:
List<Long> list = new ArrayList<>();
list.add(4L);
list.add(92L);
list.add(100L);
List<Long> newList = list.stream().map(i -> i * 2.5)
.mapToLong(Double::doubleToRawLongBits)
.collect(Collectors.toList());
Этот код не работает, и ошибка компиляции:
Метод
collect
в интерфейсеjava.util.stream.LongStream
не может быть применен к данным типам;
обязательно:java.util.function.Supplier<R>,java.util.function.ObjLongConsumer<R>,java.util.function.BiConsumer<R,R>
найдено:java.util.stream.Collector<java.lang.Object,capture#1 of?,java.util.List<java.lang.Object>>
причина: не может вывести переменную типа (типов)R
(фактические и формальные списки аргументов различаются по длине)
Я испробовал много способов использования Коллекционеров, но я до сих пор не могу заставить его работать. Что я делаю неправильно?