All Downloads are FREE. Search and download functionalities are using the official Maven repository.

resources.report.rules.findbugs.RV_REM_OF_HASHCODE.html Maven / Gradle / Ivy

Go to download

Sanity4J was created to simplify running multiple static code analysis tools on the Java projects. It provides a single entry point to run all the selected tools and produce a consolidated report, which presents all findings in an easily accessible manner.

There is a newer version: 1.1.1
Show newest version


RV: Remainder of hashCode could be negative (RV_REM_OF_HASHCODE)


RV: Remainder of hashCode could be negative (RV_REM_OF_HASHCODE)

This code computes a hashCode, and then computes the remainder of that value modulo another value. Since the hashCode can be negative, the result of the remainder operation can also be negative.

Assuming you want to ensure that the result of your computation is nonnegative, you may need to change your code. If you know the divisor is a power of 2, you can use a bitwise and operator instead (i.e., instead of using x.hashCode()%n, use x.hashCode()&(n-1). This is probably faster than computing the remainder as well. If you don't know that the divisor is a power of 2, take the absolute value of the result of the remainder operation (i.e., use Math.abs(x.hashCode()%n)





© 2015 - 2024 Weber Informatics LLC | Privacy Policy