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

标签 java debugging intellij-idea

我正在努力处理包含一些 Stream API 方法的评估表达式。 示例:

sample.reads.stream().filter(s -> s.l.length() < 10)

这也行不通:

sample.reads.stream().filter(s -> s.l.length() < 10).collect(Collectors.toList())

给出:

enter image description here

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

配置: java : jdk1.8.0_144

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

更新

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

更新 2 我不认为这与类(class)有关。即使这给了我同样的错误:

IntStream.range(0, 100).filter(i -> i%2 == 0).toArray()

最佳答案

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

我不认为这是由于终端或非终端流操作造成的。即使是非终端操作也可以在 IDEA 中无错地评估。看这个:

enter image description here

我强烈建议检查 IDEA 中的运行/调试配置,并检查该应用程序正在使用哪个类路径。打开以下对话框并检查“使用模块的类路径”字段中的内容:

enter image description here

那里可能潜入了错误的值。

关于java - Intellij IDEA - 使用流 API 导致错误评估表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48233031/

相关文章:

java - 我如何在 Android 中使用 java.applet.Applet?

java - Eclipse 拼写检查器 - 如何删除我添加的单词?

java - 如何从 https ://randomuser. me/api/读取 android 中的 json 文件

java - Spring MVC 中的 HttpMessageNotWritableException : No converter found for return value of type: class java. util.HashMap

c - 构建 Linux 调试器 C

google-chrome - 谷歌浏览器在控制台中不显示错误

javascript - 如何调试 KnockoutJS 的模板绑定(bind)错误?

java - 无法从同一 .java 文件中包含的静态扩展类访问字段

java - LinkedHashMap 的子类作为缓存

intellij-idea - 更新密码后,CVS 更新上的 IntelliJ PAM 身份验证失败