Java streams findAny() encounters null pointer exception after filter() operation filters out everything

后端 未结 3 2118
时光说笑
时光说笑 2021-02-20 18:41

I am having trouble figuring why findAny() throws a null pointer exception after filter() operation on a stream. In this particular test case, the filt

3条回答
  •  孤独总比滥情好
    2021-02-20 19:11

    No, it's not the behavior, when the stream doesn't contain any elements. In which case it instead returns an Optional.empty().

    Also, the NPE is the cause of a null value in the stream, as stated in the javadocs:

    Returns:
    an Optional describing some element of this stream, or an empty Optional if the stream is empty
    
    Throws:
    NullPointerException - if the element selected is null
    

提交回复
热议问题