Reports bitwise operations that can be replaced with a call to the Long.hashCode() or Double.hashCode() methods. It detects the construct (int)(x ^ (x >>> 32)) where x is a variable of type long or the result of a previous Double.doubleToLongBits() call. The replacement shortens the code, improving its readability.

Example:


  int result = (int)(var ^ (var >>> 32));

After applying the quick-fix:


  int result = Long.hashCode(var);

This inspection only reports if the language level of the project or module is 8 or higher.

New in 2024.1