我有一种方法来检查2个double []的相等性,每个元素之间有一个容差。我想让它更快,我想知道是否有办法在没有for循环的情况下做到这一点。我一直在寻找但却找不到能做到这一点的东西。 Arrays.equals()或deepEquals()似乎没有对双重相等的容忍度。有什么建议? 这就是我目前所拥有的:
private boolean myEquals(double[] array1, double[] array2)
{
if(array1.length == array2.length)
{
for(int i = 0; i < array1.length; i++)
{
if(Math.abs(array1[i] - array2[i]) > 0.01)
{
return false;
}
}
}
else
{
return false;
}
return true;
}
答案 0 :(得分:0)
我不知道如何避免迭代所有元素。看看Arrays.equals(),这正是它在那里完成的...... 但是,您还应检查每个数组的无效性,否则可能会出现NullPointerException