【发布时间】:2016-09-20 19:53:03
【问题描述】:
我需要比较两个整数数组以了解它们是否相互反转(由布尔结果确定),在大多数情况下它最终工作得很好,但每当我尝试知道以下数组是否与另一个相反,它最终给我带来了麻烦,我不明白为什么。
boolean result = true;
Integer [] a1 = {999,1000,null};
Integer [] a2 = {null,1000,999};
if (a1.length>0){
for (int i=0;i<a1.length;i++){
if (a1[i] != a2[a1.length-i-1]){
return result = false;
}
}
}else{
result = true;
}
我注意到,如果我稍微更改两个数组的值(例如,用 99 代替 999,或用 100 代替 1000),它就会起作用。
有人可以帮我解决这个问题吗?谢谢指教!
【问题讨论】:
-
使用
equals().. 或原始数组类型 -
it ends up giving me troubles这是什么意思? -
有什么问题?提供更多细节
-
StackOverflow 是一个针对实际代码的具体问题的问答网站; “我写了一些我无法修复的错误代码”不是一个问题,而是一个故事,甚至不是一个有趣的故事。 ericlippert.com/2014/03/05/how-to-debug-small-programs