Could you use simply
return Objects.hashcode(...)
To avoid the maths In the first place ??

Sent from my iPhone
> On 20 Sep 2016, at 19:53, Gary Gregory <garydgregory@gmail.com> wrote:
>
> I see a Findbugs error in:
>
> org.apache.logging.log4j.core.impl.Log4jLogEvent.hashCode()
>
> for:
>
> result = 31 * result + (threadPriority ^ (threadPriority >>> 32));
>
> "The code performs shift of a 32 bit int by a constant amount outside the range 31..31.
The effect of this is to use the lower 5 bits of the integer value to decide how much to shift
by (e.g., shifting by 40 bits is the same as shifting by 8 bits, and shifting by 32 bits is
the same as shifting by zero bits). This probably isn't what was expected, and it is at least
confusing."
>
> Thoughts?
>
> Gary
>
> 
> EMail: garydgregory@gmail.com  ggregory@apache.org
> Java Persistence with Hibernate, Second Edition
> JUnit in Action, Second Edition
> Spring Batch in Action
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
