当前位置: 首页 > 知识库问答 >
问题:

如何在Java中将IntStream转换为List?[副本]

邢鸿博
2023-03-14
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)

共有1个答案

松波
2023-03-14

random#ints返回intStream,而不是,这就是问题所在。

intStream是一个特殊的类,用于表示基元int。但是Java中的泛型不支持原语,即没有list 。因此首先必须使intsintegers成为包装类。然后可以收集到列表

只要装盒就行了。

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)。我发现下一个编译器错误 我做错了什么?