我的代码中出现 DU 异常。我不知道如何解决这个问题

问题描述 投票:0回答:1

我必须迭代该请求并创建一个新的实体列表请求,我可以在 JPA 存储库的 saveAll() 方法中使用该请求
我出现 DU 异常

  • DU - 异常:最近定义的变量未定义。这些异常可能会出现在正常的源文本中。
Map<Integer, AlertHeader> alertHeaderMap = findAllAlertRecords(lockAlertRequest);

List<AlertHeader> alertHeaderRequestToUpdate = lockAlertRequest.stream()
        .map(request -> {
            AlertHeader alertHeader = alertHeaderMap.get(request.getAlertId());
            alertValidatorUtil.validateRecordNotFound(alertHeader, request);
            alertValidatorUtil.validateUnauthorizedLock(alertHeader, request);
            alertHeader.setStatus(AlertStatus.valueOf(request.getStatus()));
            alertHeader.setExpediteEmployeeId(request.getExpediteEmployeeId());
            alertHeader.setExpdLockDateTime(parseDateTime(request.getExpediteLockDateTime()));
            return alertHeader;
        })
        .collect(Collectors.toList());

alertHeaderRepository.saveAll(alertHeaderRequestToUpdate);
java list jpa stream anomaly-detection
1个回答
0
投票

我假设错误消息来自 PMD。

当我用谷歌搜索该消息时,第一个搜索结果是这个 PMD 问题:https://github.com/pmd/pmd/issues/1304。 回应称这些通常是误报。 它说:

不幸的是,这条规则是迄今为止 PMD 中最差的。数据流代码库早已过时,并且很少或根本不了解 Java 5 或更高版本中引入的任何 Java 构造(for-each-loops、try-with-resources、lambda...),因此这些误报并不罕见。

我们希望在某个时候对其进行修改,但到目前为止,这样的努力还没有计划。它可能是 2019 年一个很好的 GSoC 项目候选者。

GSoC 是 Google Summer of Code,我的猜测是这个问题当时并没有得到解决……或者从那时起。


您显然没有在帖子中包含所有错误信息。 它应该提到 DU 异常是针对哪个变量的。 但您肯定在那里使用了后 Java 5 结构。

© www.soinside.com 2019 - 2024. All rights reserved.