Intellij IDEA - 使用流API评估表达式导致错误

Vya*_*ina 8 java debugging intellij-idea

我正在努力使用包含一些Stream API方法的评估表达式.例:

sample.reads.stream().filter(s -> s.l.length() < 10)
Run Code Online (Sandbox Code Playgroud)

这不起作用:

sample.reads.stream().filter(s -> s.l.length() < 10).collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)

得到:

在此输入图像描述

但是,sample.reads.stream().count()或者sample.reads.stream().toArray()工作正常以及任何其他表达式(如果我将流API调用放入代码中它也可以正常工作)

配置:Java:jdk1.8.0_144

想法:IntelliJ IDEA 2017.3.1(社区版)Build#IC-173.3942.27,建于2017年12月11日JRE:1.8.0_152-release-1024-b8 amd64 JVM:OpenJDK 64位服务器VM by JetBrains sro Windows 10 10.0

UPDATE

对不起,混乱.甚至终端命令也不起作用.我展示了这个例子,因为我发现examption是在filter方法上抛出的,而不是在collect上.如果我添加.collect(),我会看到同样的错误

更新2 我不认为它是课程的东西.即使这给了我同样的错误:

IntStream.range(0, 100).filter(i -> i%2 == 0).toArray()
Run Code Online (Sandbox Code Playgroud)

gil*_*des 6

这是一个猜测,但问题似乎是类路径相关的问题.因此,您会收到无法找到特定包的消息.

我不认为这是由于终端或非终端流操作.甚至非终端操作也可以在IDEA中进行评估而不会出错.看到这个:

在此输入图像描述

我强烈建议检查IDEA中的Run/Debug配置,并检查该应用程序使用的是哪个类路径.打开以下对话框并检查"使用模块的类路径"字段中的内容:

在此输入图像描述

错误的价值可能会潜入那里.