java lambda内部未使用的局部变量声纳问题

java lambda内部未使用的局部变量声纳问题,java,sonarqube,java-stream,Java,Sonarqube,Java Stream,声纳正在发出声音 “删除此未使用的addressId局部变量” 错误,即使它正在我的代码中使用 this.getStudentList() .forEach(student -> student.getAddressList().stream() .filter(address -> AddressType.HOME.equals(address.getAddressType())

声纳正在发出声音

“删除此未使用的addressId局部变量”

错误,即使它正在我的代码中使用

    this.getStudentList()
            .forEach(student -> student.getAddressList().stream()
                    .filter(address -> AddressType.HOME.equals(address.getAddressType())
                            && address.isSelected())
                    .findFirst().ifPresent(address -> {
                        String addressId = null;
                        if (address.getAddress() != null) {
                            addressId = address.getAddress().getAddressId();
                        }
                        if (StringUtils.isEmpty(addressId) || addressId.equals(this.getAddress().getAddressId())) {
                            address.setAddress(student.getAddress());
                        } else {
                            address.setAddress(getAddressFromRemoteCall);
                        }
                    }));
在上面的代码中,我们可以清楚地看到,
addressId
正在被使用,但声纳出现了故障并给出了错误

删除此未使用的“addressId”局部变量


有人能帮我一下吗?

你在使用最新的Java插件吗?也许与此有关,你应该重新考虑整个操作和命名策略;这个有地址的地址是什么?你如何命名
address.getAddress()
返回的东西?@Holger确实如此。似乎
address
保存了一些地址元数据,以及实际的邮政地址数据。@Holger,@JimmyB这是一个示例来说明我的问题,但无论使用何种情况,sonar都不应该出现此错误。