几周前,我开始使用Java的流.我运行了下面的代码,遇到了一条错误消息.

  1. 我如何解释这个错误?(更具体地说,消息中的"供应商"和"捕获"是什么?)
  2. 修复此错误的最佳方法是什么?

源代码

import java.lang.*;
import java.util.*;
import java.util.stream.*;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = IntStream.range(0, 10).collect(Collectors.toList());
        System.out.println(list);
    }
}

错误消息

Required type: Supplier<R,
Provided: Collector<Object, capture of ?, java.util.List<java.lang.Object>>
reason: no instance(s) of type variable(s) A, T exist so that Collector<T, A, List> conforms to Supplier

推荐答案

Collectors.toList()Collector.然而,您正在调用的IntStreamcollect()方法需要3个参数-一个Supplier<R>、一个ObjIntConsumer<R>和一个BiConsumer<R, R>.

如果您想将Collectors.toList()传递到collect(),则应该首先将IntStream转换为Stream<Integer>,因为Stream有一个接受Collectorcollect()方法.

List<Integer> list = IntStream.range(0, 10).boxed().collect(Collectors.toList());

Java相关问答推荐

javafx getHostServices(). showDocument()调出Chrome而不是默认浏览器(Linux)

scanner 如何在执行hasNextLine一次后重新读取整个文件?

Javascript在边界中心调整ImageView大小

取消按钮,但没有任何操作方法引发和异常

我不能再在Android Studio Hedgehog上用Java语言创建新项目了吗?

Spring Security不允许加载js

在JDK 1.8源代码中,为什么使用A-B 0来确定哪个更大,而不是A B?

%This内置函数示例

无法使用Freemarker从XML中读取重复的标记值

我可以在@Cacheable中使用枚举吗

寻找Thread.sky()方法的清晰度

如何在ImageIO或十二只猴子中旋转TIFF CMYK图像?

如果执行@BeForeEach#repository.save(),则测试中的UnitTest最终UUID会发生更改

Java递归泛型是否可以被视为继承和重写的语法糖

如何使用Rascal Evaluator从编译的JAR访问Rascal函数?

在数组中查找素数时出现逻辑错误

ReturnedRect在升级后反转

ExecutorService:如果我向Executor提交了太多任务,会发生什么?

如何使用命令行为Java应用程序生成烟雾测试用例

类型安全:从 JSONArray 到 ArrayList> 的未经判断的转换