public static void main(String[] args) {
System.out.println(
new Random().ints(10, 0, 20).
collect(Collectors.toList()));
}
java: method collect in interface java.util.stream.IntStream cannot be applied to given types;
required: java.util.function.Supplier<R>,java.util.function.ObjIntConsumer<R>,java.util.function.BiConsumer<R,R>
found: java.util.stream.Collector<java.lang.Object,capture#1 of ?,java.util.List<java.lang.Object>>
reason: cannot infer type-variable(s) R
(actual and formal argument lists differ in length)
random#ints
返回intStream
,而不是流
,这就是问题所在。
intStream
是一个特殊的类,用于表示基元int
。但是Java中的泛型不支持原语,即没有list
。因此首先必须使int
sinteger
s成为包装类。然后可以收集到列表
。
只要装盒就行了。
stream.boxed().toList() // since Java 16
// or
stream.boxed().collect(Collectors.toList())
stream.mapToObj(x -> Integer.valueOf(x))
public static void main(String[] args) {
System.out.println(
new Random()
.ints(10, 0, 20)
.boxed()
.toList());
}
我有列表: 如何转换列表 需要更换: 对象具有构造函数: 我试过这个: 但这对我不起作用。我得到错误: 我认为lambda参数是数组的点[],但不是。
问题内容: 如何转换成? 当然,除了循环地逐项执行之外,我对任何其他答案都感兴趣。但是,如果没有其他答案,我将选择一个作为最佳答案,以证明此功能不是Java的一部分。 问题答案: 没有捷径可转换为因为它不会处理拳击,只会创建你不想要的。你必须制作一个实用程序方法。
问题内容: 将a转换为a 的最佳方法是什么?只是迭代所有值并将它们插入列表中,还是我忽略了某些内容? 问题答案: 假设:
问题内容: 如何在Java中将通用列表转换为json。我有这样的类.. 我想将outputList转换为Java中的json。转换后我会将其发送到客户端。 问题答案: 为此使用GSON库。这是示例代码 这是Gson的Maven依赖 或者您可以从此处直接下载jar并将其放在您的课程路径中 http://code.google.com/p/google- gson/downloads/detail
我有我想分批处理的编号列表。
我有一个,并希望该流的每个元素都进行一些计算并将它们返回为,其中键是int值,值是该计算的结果。我写了以下一段代码: 其中,计算第m个(整数a)。我发现下一个编译器错误 我做错了什么?