标签: java sonarqube optional
我收到错误消息:“在访问值之前调用“ Optional#isPresent()””
但是正如您在图像中看到的那样,在该行的前面有一个isPresent()检查。
这是SonarQube的错误吗?
-
答案 0 :(得分:2)
ernest_k是正确的:(谢谢!)
严格来说,当您第二次调用component.getId()时 时间,您不能假设它将给出相同的Optional实例 您调用了isPresent()。
所以我将代码更改为:
Optional<String> optionalId = component.getId(); if (optionalId.isPresent()) { String id = optionalId.get(); // ... }