-
Bug
-
Resolution: Fixed
-
P4
-
1.4.0
-
b51
-
x86
-
windows_xp
Name: nt126004 Date: 01/13/2003
FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
FULL OPERATING SYSTEM VERSION :
All
ADDITIONAL OPERATING SYSTEMS :
ALL
A DESCRIPTION OF THE PROBLEM :
Enhancement to:
/**
* Returns this map's entry for the given key, or <tt>null</tt> if the map
* does not contain an entry for the key.
*
* @return this map's entry for the given key, or <tt>null</tt> if the map
* does not contain an entry for the key.
* @throws ClassCastException if the key cannot be compared with the keys
* currently in the map.
* @throws NullPointerException key is <tt>null</tt> and this map uses
* natural order, or its comparator does not tolerate
* <tt>null</tt> keys.
*/
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp == 0)
return p;
else if (cmp < 0)
p = p.left;
else
p = p.right;
}
return null;
}
Suggestion: as cmp == 0 will return false in most of the
cases, the following code will be more efficient
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp < 0)
p = p.left;
else if (cmp > 0)
p = p.right;
else
return p;
}
return null;
}
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
TreeMap Line number 338 through 350
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
Enhancement to:
/**
* Returns this map's entry for the given key, or <tt>null</tt> if the map
* does not contain an entry for the key.
*
* @return this map's entry for the given key, or <tt>null</tt> if the map
* does not contain an entry for the key.
* @throws ClassCastException if the key cannot be compared with the keys
* currently in the map.
* @throws NullPointerException key is <tt>null</tt> and this map uses
* natural order, or its comparator does not tolerate *
* <tt>null</tt> keys.
*/
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp == 0)
return p;
else if (cmp < 0)
p = p.left;
else
p = p.right;
}
return null;
}
Suggestion: as cmp == 0 will return false in most of the cases, the following
code will be more efficient
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp < 0)
p = p.left;
else if (cmp > 0)
p = p.right;
else
return p;
}
return null;
}
---------- END SOURCE ----------
CUSTOMER WORKAROUND :
Suggestion: as cmp == 0 will return false in most of the
cases, the following code will be more efficient
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp < 0)
p = p.left;
else if (cmp > 0)
p = p.right;
else
return p;
}
return null;
}
(Review ID: 179402)
======================================================================
FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
FULL OPERATING SYSTEM VERSION :
All
ADDITIONAL OPERATING SYSTEMS :
ALL
A DESCRIPTION OF THE PROBLEM :
Enhancement to:
/**
* Returns this map's entry for the given key, or <tt>null</tt> if the map
* does not contain an entry for the key.
*
* @return this map's entry for the given key, or <tt>null</tt> if the map
* does not contain an entry for the key.
* @throws ClassCastException if the key cannot be compared with the keys
* currently in the map.
* @throws NullPointerException key is <tt>null</tt> and this map uses
* natural order, or its comparator does not tolerate
* <tt>null</tt> keys.
*/
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp == 0)
return p;
else if (cmp < 0)
p = p.left;
else
p = p.right;
}
return null;
}
Suggestion: as cmp == 0 will return false in most of the
cases, the following code will be more efficient
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp < 0)
p = p.left;
else if (cmp > 0)
p = p.right;
else
return p;
}
return null;
}
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
TreeMap Line number 338 through 350
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
Enhancement to:
/**
* Returns this map's entry for the given key, or <tt>null</tt> if the map
* does not contain an entry for the key.
*
* @return this map's entry for the given key, or <tt>null</tt> if the map
* does not contain an entry for the key.
* @throws ClassCastException if the key cannot be compared with the keys
* currently in the map.
* @throws NullPointerException key is <tt>null</tt> and this map uses
* natural order, or its comparator does not tolerate *
* <tt>null</tt> keys.
*/
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp == 0)
return p;
else if (cmp < 0)
p = p.left;
else
p = p.right;
}
return null;
}
Suggestion: as cmp == 0 will return false in most of the cases, the following
code will be more efficient
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp < 0)
p = p.left;
else if (cmp > 0)
p = p.right;
else
return p;
}
return null;
}
---------- END SOURCE ----------
CUSTOMER WORKAROUND :
Suggestion: as cmp == 0 will return false in most of the
cases, the following code will be more efficient
private Entry getEntry(Object key) {
Entry p = root;
while (p != null) {
int cmp = compare(key,p.key);
if (cmp < 0)
p = p.left;
else if (cmp > 0)
p = p.right;
else
return p;
}
return null;
}
(Review ID: 179402)
======================================================================