Language: Java
Rule: javabugs:S6322
This shouldn’t be reported, as the “remove”-method of ConcurrentMap specifically states that a view that is backed by the map is returned, on which all operations (except for add & addAll) can be called, including the remove-method.
SonarQube Developer Edition v9.9.1
Example:
ConcurrentMap<String, String> x = new ConcurrentHashMap<>();
x.values().remove("item"); // reported as javabugs:S6322
Hello HenryKuijpers!
thank you for reporting this issue.
You are absolutely right, calling remove
on the result of Map::values
is permitted.
This issue has been addressed and a fix is already available in newer versions of SonarQube.
Unfortunately, it is not available in the current LTS release (9.9.2), and you would need to update to at least version 10.1.0 to receive the fix.
If there is anything else I can help you with, don’t hesitate to ask!
Best regards,
Anton
1 Like