java中的两个空数组到底相同还是不相同

刚学java第一张图是我自己写的 第二张图是看b站黑马程序员课程写的 为啥我的返回值是false 搞不明白 还想问一句两个空的数组到底是不是一样的数组,感谢解惑

img

img

两个空数组,按内容比较应该是相同的,你的代码问题是 arr1如果是空数组, arr1.length为0
for循环就一次也不执行, 直接return false;了
这样arr1和arr2都是空数组, 也直接return false;了
另外你的循环比较也不对,
你循环中 if (arr1[i]==arr2[i]) return true; 是只要两个数组有一位数据相同就 return true; 两个数组所有数据都不相同才 return false;
应该要像第二张图那样先比较两个数组长度是否一样,不一样直接return false;
两个数组长度一样才循环比较
并且要反过来用!=不等于比较 if (arr1[i]!=arr2[i]) return false; 只要两个数组有一位数据不相同 return false; 两个数组所有数据都相同 return true;
这样如果arr1和arr2都是空数组, 两个数组长度一样循环比较0次,也属于两个数组所有数据都相同的情况 也是return true;

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632