diff options
author | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-07 12:18:58 +0000 |
---|---|---|
committer | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-07 12:18:58 +0000 |
commit | 3f28b9235515bc06f0f259ba2754de012861c8fd (patch) | |
tree | 77f4884bfef9be9087d59584f2556870d7992287 /libjava | |
parent | 9ce7832f1266c888ebaf407235b662a1f5a7fb15 (diff) | |
download | gcc-3f28b9235515bc06f0f259ba2754de012861c8fd.tar.gz |
* java/util/Hashtable.java (contains): Remove NullPointer check.
(containsValue): Add NullPointer check.
(remove): Always throw NullPointerException when key is null.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51994 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 9 | ||||
-rw-r--r-- | libjava/java/util/Hashtable.java | 22 |
2 files changed, 16 insertions, 15 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index f4636bfba00..a06b98ac5d7 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2002-04-07 Mark Wielaard <mark@klomp.org> + + * java/util/Hashtable.java (contains): Remove NullPointer check. + (containsValue): Add NullPointer check. + (remove): Always throw NullPointerException when key + is null. + 2002-04-07 Adam King <aking@dreammechanics.com> * java/lang/natSystem.cc (init_properties): Call new function @@ -25,7 +32,7 @@ 2002-04-05 Mark Wielaard <mark@klomp.org> - * java/util/ArrayList.jva (removeRange): If toIndex == fromIndex do + * java/util/ArrayList.java (removeRange): If toIndex == fromIndex do nothing, if toIndex < fromIndex throw IndexOutIfBoundsException. 2002-04-05 Adam Megacz <adam@xwt.org> diff --git a/libjava/java/util/Hashtable.java b/libjava/java/util/Hashtable.java index 65759e7f112..71ec4b809c7 100644 --- a/libjava/java/util/Hashtable.java +++ b/libjava/java/util/Hashtable.java @@ -322,10 +322,6 @@ public class Hashtable extends Dictionary * <code>containsValue()</code>, and is O(n). * <p> * - * Note: this is one of the <i>old</i> Hashtable methods which does - * not like null values; it throws NullPointerException if the - * supplied parameter is null. - * * @param value the value to search for in this Hashtable * @return true if at least one key maps to the value * @throws NullPointerException if <code>value</code> is null @@ -334,19 +330,17 @@ public class Hashtable extends Dictionary */ public synchronized boolean contains(Object value) { - // Check if value is null. - if (value == null) - throw new NullPointerException(); return containsValue(value); } /** * Returns true if this Hashtable contains a value <code>o</code>, such that * <code>o.equals(value)</code>. This is the new API for the old - * <code>contains()</code>, except that it is forgiving of null. + * <code>contains()</code>. * * @param value the value to search for in this Hashtable * @return true if at least one key maps to the value + * @throws NullPointerException if <code>value</code> is null * @see #contains(Object) * @see #containsKey(Object) * @since 1.2 @@ -358,11 +352,16 @@ public class Hashtable extends Dictionary HashEntry e = buckets[i]; while (e != null) { - if (AbstractCollection.equals(value, e.value)) + if (value.equals(e.value)) return true; e = e.next; } } + + // Must throw on null argument even if the table is empty + if (value == null) + throw new NullPointerException(); + return false; } @@ -468,17 +467,12 @@ public class Hashtable extends Dictionary * Removes from the table and returns the value which is mapped by the * supplied key. If the key maps to nothing, then the table remains * unchanged, and <code>null</code> is returned. - * <b>NOTE:</b>Map.remove and Dictionary.remove disagree whether null - * is a valid parameter; at the moment, this implementation obeys Map.remove, - * and silently ignores null. * * @param key the key used to locate the value to remove * @return whatever the key mapped to, if present */ public synchronized Object remove(Object key) { - if (key == null) - return null; int idx = hash(key); HashEntry e = buckets[idx]; HashEntry last = null; |