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

收集流的结果时获得意外的NullPointerException[已关闭]

宓和同
2023-03-14

当从流中收集数据时,我得到了一个烦人的NullPointerException。在我看来,我不应该得到一个,这是困扰我的。

以下是错误代码:

descriptiveData
    .stream()
    .map(Signaletiques::getContrats)
    .filter(Objects::nonNull)
    .collect(Collectors.toList())

descriptiveData不是null,也不包含null对象,但getContrats的结果可能是。这是一个完全有效的业务情况,我认为用过滤器处理它是这样做的方法,但我所能得到的只有这个例外:

谢谢@尼古拉斯的答案确实正确。

共有1个答案

上官和韵
2023-03-14

descriptivedata实际上包含null值-这些值可以在后面添加。然后还需要筛选出这些null值。只需在.map(..)行之前添加另一个.filter(..)即可:

descriptiveData
    .stream()
    .filter(Objects::nonNull)
    .map(Signaletiques::getContrats)
    .filter(Objects::nonNull)
    .collect(Collectors.toList())
 类似资料:
  • 我有以下代码: 为什么它会打印Java流?

  • 问题内容: 我的文件中有一个Python脚本,运行该脚本仅需30多秒钟。我想对此进行简要介绍,因为我希望大幅减少这次的时间。 我正在尝试使用来分析脚本,但实际上似乎告诉我的是,是的,主脚本运行了很长时间,但没有给出我期望的细分。在终端上,我输入如下内容: 我得到的结果是: 这似乎并没有告诉我任何有用的信息。绝大多数时间被简单地列出为: 在中,第18行只不过是关闭文件标题块注释而已,因此,并不是把全

  • 在我看来,我的缓冲区包含关于最后一个数据包步骤(路由器->my home)的信息,这些信息解释了为什么TTL值是254以及为什么我用Traceroute找到了相同的两个IP: $>traceroute qwant.com traceroute to qwant.com(194.187.168.99),30跳最大,60字节数据包 172.17.0.1(172.17.0.1)0.026 ms 0.01

  • 我尝试使用pandas DataFrame的pivot_table方法; 但是,我收到以下错误: 上述命令摘自Wes McKinney(pandas的创建者)的《Python用于数据分析》一书

  • 我已经按照此链接刷新了访问令牌。在将身份验证器添加到okHttp时,从改造回调onFailure方法中获取okhttp3上的意外流结束错误

  • 我使用了以下映射:我修改了英语分析器来使用ngram分析器,如下所示,这样我应该能够在以下情况下进行搜索:1]部分搜索和特殊字符搜索2]以获得语言分析器的优势 将我的数据索引如下: