MCPcopy Create free account
hub / github.com/davidgiven/luje / deepEqualsElements

Method deepEqualsElements

lib/java/util/Arrays.java:1445–1496  ·  view source on GitHub ↗
(Object e1, Object e2)

Source from the content-addressed store, hash-verified

1443 }
1444
1445 private static boolean deepEqualsElements(Object e1, Object e2) {
1446 Class<?> cl1, cl2;
1447
1448 if (e1 == e2) {
1449 return true;
1450 }
1451
1452 if (e1 == null || e2 == null) {
1453 return false;
1454 }
1455
1456 cl1 = e1.getClass().getComponentType();
1457 cl2 = e2.getClass().getComponentType();
1458
1459 if (cl1 != cl2) {
1460 return false;
1461 }
1462
1463 if (cl1 == null) {
1464 return e1.equals(e2);
1465 }
1466
1467 /*
1468 * compare as arrays
1469 */
1470 if (!cl1.isPrimitive()) {
1471 return deepEquals((Object[]) e1, (Object[]) e2);
1472 }
1473
1474 if (cl1.equals(int.class)) {
1475 return equals((int[]) e1, (int[]) e2);
1476 }
1477 if (cl1.equals(char.class)) {
1478 return equals((char[]) e1, (char[]) e2);
1479 }
1480 if (cl1.equals(boolean.class)) {
1481 return equals((boolean[]) e1, (boolean[]) e2);
1482 }
1483 if (cl1.equals(byte.class)) {
1484 return equals((byte[]) e1, (byte[]) e2);
1485 }
1486 if (cl1.equals(long.class)) {
1487 return equals((long[]) e1, (long[]) e2);
1488 }
1489 if (cl1.equals(float.class)) {
1490 return equals((float[]) e1, (float[]) e2);
1491 }
1492 if (cl1.equals(double.class)) {
1493 return equals((double[]) e1, (double[]) e2);
1494 }
1495 return equals((short[]) e1, (short[]) e2);
1496 }
1497
1498 private static boolean isSame(double double1, double double2) {
1499 // Simple case

Callers 1

deepEqualsMethod · 0.95

Calls 6

deepEqualsMethod · 0.95
equalsMethod · 0.95
getComponentTypeMethod · 0.80
getClassMethod · 0.80
isPrimitiveMethod · 0.80
equalsMethod · 0.65

Tested by

no test coverage detected