summaryrefslogtreecommitdiffstats
path: root/luni/src/main/java/java/util/WeakHashMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'luni/src/main/java/java/util/WeakHashMap.java')
-rw-r--r--luni/src/main/java/java/util/WeakHashMap.java33
1 files changed, 17 insertions, 16 deletions
diff --git a/luni/src/main/java/java/util/WeakHashMap.java b/luni/src/main/java/java/util/WeakHashMap.java
index 6417679..2c07d28 100644
--- a/luni/src/main/java/java/util/WeakHashMap.java
+++ b/luni/src/main/java/java/util/WeakHashMap.java
@@ -198,15 +198,14 @@ public class WeakHashMap<K, V> extends AbstractMap<K, V> implements Map<K, V> {
* if the capacity is less than zero.
*/
public WeakHashMap(int capacity) {
- if (capacity >= 0) {
- elementCount = 0;
- elementData = newEntryArray(capacity == 0 ? 1 : capacity);
- loadFactor = 7500; // Default load factor of 0.75
- computeMaxSize();
- referenceQueue = new ReferenceQueue<K>();
- } else {
- throw new IllegalArgumentException();
+ if (capacity < 0) {
+ throw new IllegalArgumentException("capacity < 0: " + capacity);
}
+ elementCount = 0;
+ elementData = newEntryArray(capacity == 0 ? 1 : capacity);
+ loadFactor = 7500; // Default load factor of 0.75
+ computeMaxSize();
+ referenceQueue = new ReferenceQueue<K>();
}
/**
@@ -222,15 +221,17 @@ public class WeakHashMap<K, V> extends AbstractMap<K, V> implements Map<K, V> {
* or equal to zero.
*/
public WeakHashMap(int capacity, float loadFactor) {
- if (capacity >= 0 && loadFactor > 0) {
- elementCount = 0;
- elementData = newEntryArray(capacity == 0 ? 1 : capacity);
- this.loadFactor = (int) (loadFactor * 10000);
- computeMaxSize();
- referenceQueue = new ReferenceQueue<K>();
- } else {
- throw new IllegalArgumentException();
+ if (capacity < 0) {
+ throw new IllegalArgumentException("capacity < 0: " + capacity);
+ }
+ if (loadFactor <= 0) {
+ throw new IllegalArgumentException("loadFactor <= 0: " + loadFactor);
}
+ elementCount = 0;
+ elementData = newEntryArray(capacity == 0 ? 1 : capacity);
+ this.loadFactor = (int) (loadFactor * 10000);
+ computeMaxSize();
+ referenceQueue = new ReferenceQueue<K>();
}
/**