aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/util/Arrays.java219
2 files changed, 96 insertions, 128 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 9c3f9c1..11e0545 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2003-09-10 David Daney <ddaney@avtrex.com>
+
+ * java/util/Arrays.java (equals(all variants)): Quit using
+ NullPointerException catching to detect null valued parameters.
+
2003-09-10 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java,
diff --git a/libjava/java/util/Arrays.java b/libjava/java/util/Arrays.java
index 35e0e92..080b4b9 100644
--- a/libjava/java/util/Arrays.java
+++ b/libjava/java/util/Arrays.java
@@ -1,5 +1,5 @@
/* Arrays.java -- Utility class with methods to operate on arrays
- Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -398,23 +398,18 @@ public class Arrays
if (a1 == a2)
return true;
- try
+ if (null == a1 || null == a2)
+ return false;
+
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (a1[i] != a2[i])
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
- {
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (a1[i] != a2[i])
+ return false;
+ return true;
}
-
return false;
}
@@ -433,21 +428,17 @@ public class Arrays
if (a1 == a2)
return true;
- try
- {
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (a1[i] != a2[i])
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
+ if (null == a1 || null == a2)
+ return false;
+
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (a1[i] != a2[i])
+ return false;
+ return true;
}
return false;
}
@@ -467,21 +458,17 @@ public class Arrays
if (a1 == a2)
return true;
- try
+ if (null == a1 || null == a2)
+ return false;
+
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (a1[i] != a2[i])
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
- {
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (a1[i] != a2[i])
+ return false;
+ return true;
}
return false;
}
@@ -501,21 +488,17 @@ public class Arrays
if (a1 == a2)
return true;
- try
- {
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (a1[i] != a2[i])
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
+ if (null == a1 || null == a2)
+ return false;
+
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (a1[i] != a2[i])
+ return false;
+ return true;
}
return false;
}
@@ -535,21 +518,17 @@ public class Arrays
if (a1 == a2)
return true;
- try
- {
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (a1[i] != a2[i])
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
+ if (null == a1 || null == a2)
+ return false;
+
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (a1[i] != a2[i])
+ return false;
+ return true;
}
return false;
}
@@ -569,21 +548,17 @@ public class Arrays
if (a1 == a2)
return true;
- try
- {
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (a1[i] != a2[i])
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
+ if (null == a1 || null == a2)
+ return false;
+
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (a1[i] != a2[i])
+ return false;
+ return true;
}
return false;
}
@@ -603,22 +578,18 @@ public class Arrays
if (a1 == a2)
return true;
+ if (null == a1 || null == a2)
+ return false;
+
// Must use Float.compare to take into account NaN, +-0.
- try
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (Float.compare(a1[i], a2[i]) != 0)
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
- {
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (Float.compare(a1[i], a2[i]) != 0)
+ return false;
+ return true;
}
return false;
}
@@ -638,22 +609,18 @@ public class Arrays
if (a1 == a2)
return true;
+ if (null == a1 || null == a2)
+ return false;
+
// Must use Double.compare to take into account NaN, +-0.
- try
- {
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (Double.compare(a1[i], a2[i]) != 0)
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (Double.compare(a1[i], a2[i]) != 0)
+ return false;
+ return true;
}
return false;
}
@@ -674,21 +641,17 @@ public class Arrays
if (a1 == a2)
return true;
- try
- {
- // If they're the same length, test each element
- if (a1.length == a2.length)
- {
- int i = a1.length;
- while (--i >= 0)
- if (! AbstractCollection.equals(a1[i], a2[i]))
- return false;
- return true;
- }
- }
- catch (NullPointerException e)
+ if (null == a1 || null == a2)
+ return false;
+
+ // If they're the same length, test each element
+ if (a1.length == a2.length)
{
- // If one is null, we get a harmless NullPointerException
+ int i = a1.length;
+ while (--i >= 0)
+ if (! AbstractCollection.equals(a1[i], a2[i]))
+ return false;
+ return true;
}
return false;
}