//package com.nowjava;
/**来 自 nowjava.com**/
public class Main {
public static void main(String[] argv) {
Object[] thisArray = new String[] { "1", "abc", "level", null,
"nowjava.com", "asdf 123" };
Object[] thatArray = new String[] { "1", "abc", "level", null,
"nowjava.com", "asdf 123" };
System.out
.println(valuesAreTransitivelyEqual(thisArray, thatArray));
}
/**
* Returns whether the arrays are equal by examining each of their elements, even if they are
* arrays themselves.
*
* @param thisArray Object[]
* @param thatArray Object[]
* @return boolean
*/
public static final boolean valuesAreTransitivelyEqual(
/**
来 自
nowjava - 时代Java
**/
Object[] thisArray, Object[] thatArray) {
if (thisArray == thatArray)
return true;
if ((thisArray == null) || (thatArray == null))
return false;
if (thisArray.length != thatArray.length)
return false;
for (int i = 0; i < thisArray.length; i++) {
if (!areEqual(thisArray[i], thatArray[i]))
return false; // recurse if req'd
}
return true;
}
/**
* A comprehensive isEqual method that handles nulls and arrays safely.
*
* @param value Object
* @param otherValue Object
* @return boolean
*/
public static final boolean areEqual(Object value, Object otherValue) {
if (value == otherValue)
return true;
if (value == null)
return false;
if (otherValue == null)
return false;
if (value.getClass().getComponentType() != null)
return arraysAreEqual(value, otherValue);
return value.equals(otherValue);
}
/**
* Returns true if the objects are array instances and each of their elements compares
* via equals as well.
*
* @param value Object
* @param otherValue Object
* @return boolean
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。