我有一个像这样的 ConcurrentMaps 的 ConcurrentMap ...
ConcurrentMap<String, ConcurrentMap<K, V>> mapsMap = new ConcurrentHashMap<>();
现在以某种方法,我想通过确保存在这样的某个键的映射来防止 NPE...
mapsMap.putIfAbsent(someKey, new ConcurrentHashMap<K, V>());
......所以我可以安全地调用......
mapsMap.get(someKey).put(...);
...不用担心这里的空值。
现在,Sonarqube 告诉我,这违反了RSPEC-2201规则......
不应忽略来自没有副作用的函数的返回值 [..] 以及在 ConcurrentMap.putIfAbsent 调用上忽略的返回值。
这只是 SonarQube 没有检测到该方法的副作用对我来说已经足够了(并且返回值不会添加任何信息)还是我错过了关于 putIfAbsent 合约的重要一点?
MMMHUHU
拉风的咖菲猫
相关分类