小编N.T*_*son的帖子

需要额外过滤时重用流 - Java

总之,以下代码意味着筛选第二个参数中的实体的第一个参数.如果在第二个参数中指定了"更改",则应该过滤较窄的结果.

当我运行它时,我得到一个错误'IllegalStateException:stream已被操作或关闭.

有没有办法可以重用相同的流?
我见过人们实现像Supplier这样的东西,但我认为这不适合这种情况.或者,我只是不熟悉它以了解我如何使用供应商.

/**
     * Filters through DocumentAuditEntityListing to find existence of the entities
     * ActionEnum, ActionContextEnum, LevelEnum, & StatusEnum.
     *
     * @param audits A list of audits to search
     * @param toFind The audit entities to find
     * @return If entities found, return DocumentAudit, else null
     */
    public DocumentAudit verifyAudit(DocumentAuditEntityListing audits, DocumentAudit toFind) {
        //Filter for proper entities
        Stream stream = audits.getEntities().stream().filter(doc -> (
                doc.getAction().equals(toFind.getAction())) &&
                doc.getActionContext().equals(toFind.getActionContext()) &&
                doc.getLevel().equals(toFind.getLevel()) &&
                doc.getStatus().equals(toFind.getStatus()));

        //If changes were specified, filter further.
        if …
Run Code Online (Sandbox Code Playgroud)

java audit java-8 java-stream

2
推荐指数
1
解决办法
78
查看次数

标签 统计

audit ×1

java ×1

java-8 ×1

java-stream ×1