java.lang.ArithmeticException:/ by零

我在这行代码中收到此错误:

for (int i = Math.abs(key.hashCode()) % size; i < size; i++) 

为什么会这样?

%运算符在将第一个数除以第二个数后返回余数。 如果第二个数字(在您的示例size )为零,那么您将得到除以零ArithmeticException

关键是在执行此循环之前检查size是否为零,并采取适当的操作。