Я создаю параметр запроса с именем "id", это список, поэтому у меня есть что-то вроде localhost: 8080 / application? Id = 1 & id = 2 & id = 3 & id = 4
(я знаю, что моего метода недостаточно, и мне нужно написать первый ? Id = )
Метод
public Map<Long, String> getSkus(List<ItemPedido> itensPedido) {
Map<Long, String> skus = new HashMap<>();
String ids = itensPedido.stream()
.filter(i -> i.getProduto() != null)
.map(i -> i.getProduto().getId())
.collect(Collectors.joining("&id="));
//TODO
return skus;
}
Мой вопрос: почему я получил эту ошибку в Collectors.joining ("& id =") ?
no suitable method found for collect(java.util.stream.Collector<java.lang.CharSequence,capture#1 of ?,java.lang.String>)
[ERROR] method java.util.stream.Stream.<R>collect(java.util.function.Supplier<R>,java.util.function.BiConsumer<R,? super java.lang.Long>,java.util.function.BiConsumer<R,R>) is not applicable
[ERROR] (cannot infer type-variable(s) R
[ERROR] (actual and formal argument lists differ in length))
[ERROR] method java.util.stream.Stream.<R,A>collect(java.util.stream.Collector<? super java.lang.Long,A,R>) is not applicable
[ERROR] (cannot infer type-variable(s) R,A
[ERROR] (argument mismatch; java.util.stream.Collector<java.lang.CharSequence,capture#1 of ?,java.lang.String> cannot be converted to java.util.stream.Collector<? super java.lang.Long,A,R>))
Я использую OpenJDK
$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)