检查数组 arr1 是否包含与 java 中 arr2 相同顺序的元素。
例如:
isTheSame({"1", "2", "3"}, {"1", "2", "3"}) → true
isTheSame({"1", "2", "3"}, {"2", "1", "1"}) → false
isTheSame({"1", "2", "3"}, {"3", "1", "2"}) → false
到目前为止我已经
public boolean isTheSame(String[] arr1, String[] arr2)
{
if (arr1.length == arr2.length)
{
for (int i = 0; i < arr1.length; i++)
{
if (arr1[i] == arr2[i])
{
return true;
}
}
}
return false;
}
这样做的问题是它只比较两个数组的第一个元素。
您将不断迭代,直到找到匹配项。相反,您应该寻找不匹配的字符串,并且应该使用equals
not ==
// same as Arrays.equals()
public boolean isTheSame(String[] arr1, String[] arr2) {
if (arr1.length != arr2.length) return false;
for (int i = 0; i < arr1.length; i++)
if (!arr1[i].equals(arr2[i]))
return false;
return true;
}
仅供参考,这就是 Arrays.equals 处理的事情null
价值观也是如此。
public static boolean equals(Object[] a, Object[] a2) {
if (a==a2)
return true;
if (a==null || a2==null)
return false;
int length = a.length;
if (a2.length != length)
return false;
for (int i=0; i<length; i++) {
Object o1 = a[i];
Object o2 = a2[i];
if (!(o1==null ? o2==null : o1.equals(o2)))
return false;
}
return true;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)