On Mon, 22 Mar 2021 17:44:03 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:
>> SonarCloud reports the problem in ComponentSampleModel.equals: >> Correct one of the identical sub-expressions on both sides of operator "&&" >> >> ...near "this.numBands == that.numBands". It is checked twice. hashCode also >> processes it twice. > > src/java.desktop/share/classes/java/awt/image/ComponentSampleModel.java line > 1228: > >> 1226: } >> 1227: hash ^= numBands; >> 1228: hash <<= 8; > > Since this mistake was done in two places I think this is a typo here and not > an intentional thing. I am a bit confused by this comment :) I suspect that `equals` got duplicated `numBands` first, and then whoever did the `hashcode` just hashed the same fields in the same order, duplicating it again. ------------- PR: https://git.openjdk.java.net/jdk/pull/3125