Sonar Version 6.7.4 (build 38452)
This code is a false positive:
if(foo.bar.isPresent() && foo.bar.get() instanceof Something)
as well as this:
if (foo.bar.isPresent()) {
my.method(foo.bar.get());
}
Sonar Version 6.7.4 (build 38452)
This code is a false positive:
if(foo.bar.isPresent() && foo.bar.get() instanceof Something)
as well as this:
if (foo.bar.isPresent()) {
my.method(foo.bar.get());
}
Hello @dforce,
Thank you for reporting this and my apologies for the delayed answer.
This is indeed a false positive that we weren’t aware of, for which I’ve created the following ticket: https://jira.sonarsource.com/browse/SONARJAVA-3235.
In the meantime, an alternative that might be useful for you depending on your use case would be to avoid using Optional::get in favor of constructs such as:
foo.bar.ifPresent(b -> myMethod(b));
You can find other examples here: https://reversecoding.net/java-8-optional-replace-get-examples/
Hope that helps,
Guillaume
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.