Code review request: bugs 6480728 and 6655735 in the wrapper classes (original) (raw)
Joseph D. Darcy Joe.Darcy at Sun.COM
Wed Oct 7 20:27:58 UTC 2009
- Previous message: hg: jdk7/tl/jdk: 6887364: SetOutgoingIf.java fails if run on multihomed machine without PIv6 on all interfaces
- Next message: Code review request: bugs 6480728 and 6655735 in the wrapper classes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello.
Please review these simple cleanup fixes in the wrapper classes:
6480728: Byte.valueOf(byte) returns a cached value but Byte.valueOf(String) 6655735: Integer.toString() and String.valueOf(int) contain slow delegations
The fix for the first bug is for the valueOf(String) and decode methods in Byte and Short to return objects after going through the cache. This behavior is already present in Integer and Long.
The second fix changes method calls in various wrapper classes and in String to go to the Foo -> String method most directly implementing the desired conversion
Patch is below; webrev at http://cr.openjdk.java.net/~darcy/6480728.0/
-Joe
--- old/src/share/classes/java/lang/Byte.java 2009-10-07 12🔞04.000000000 -0700 +++ new/src/share/classes/java/lang/Byte.java 2009-10-07 12🔞03.000000000 -0700 @@ -201,7 +201,7 @@ */ public static Byte valueOf(String s, int radix) throws NumberFormatException {
return new Byte(parseByte(s, radix));
return valueOf(parseByte(s, radix));
}
/**
@@ -277,7 +277,7 @@ if (i < MIN_VALUE || i > MAX_VALUE) throw new NumberFormatException( "Value " + i + " out of range from input " + nm);
return (byte)i;
return valueOf((byte)i);
}
/**
@@ -374,7 +374,7 @@ * base 10. */ public String toString() {
return String.valueOf((int)value);
return Integer.toString((int)value);
}
/**
--- old/src/share/classes/java/lang/Double.java 2009-10-07 12🔞04.000000000 -0700 +++ new/src/share/classes/java/lang/Double.java 2009-10-07 12🔞04.000000000 -0700 @@ -629,7 +629,7 @@ * @see java.lang.Double#toString(double) */ public String toString() {
return String.valueOf(value);
return toString(value);
}
/**
--- old/src/share/classes/java/lang/Float.java 2009-10-07 12🔞05.000000000 -0700 +++ new/src/share/classes/java/lang/Float.java 2009-10-07 12🔞05.000000000 -0700 @@ -551,7 +551,7 @@ * @see java.lang.Float#toString(float) */ public String toString() {
return String.valueOf(value);
return Float.toString(value);
}
/**
--- old/src/share/classes/java/lang/Integer.java 2009-10-07 12🔞06.000000000 -0700 +++ new/src/share/classes/java/lang/Integer.java 2009-10-07 12🔞06.000000000 -0700 @@ -746,7 +746,7 @@ * base 10. */ public String toString() {
return String.valueOf(value);
return toString(value);
}
/**
--- old/src/share/classes/java/lang/Long.java 2009-10-07 12🔞07.000000000 -0700 +++ new/src/share/classes/java/lang/Long.java 2009-10-07 12🔞07.000000000 -0700 @@ -761,7 +761,7 @@ * base 10. */ public String toString() {
return String.valueOf(value);
return toString(value);
}
/**
--- old/src/share/classes/java/lang/Short.java 2009-10-07 12🔞08.000000000 -0700 +++ new/src/share/classes/java/lang/Short.java 2009-10-07 12🔞07.000000000 -0700 @@ -170,7 +170,7 @@ */ public static Short valueOf(String s, int radix) throws NumberFormatException {
return new Short(parseShort(s, radix));
return valueOf(parseShort(s, radix));
}
/**
@@ -282,7 +282,7 @@ if (i < MIN_VALUE || i > MAX_VALUE) throw new NumberFormatException( "Value " + i + " out of range from input " + nm);
return (short)i;
return valueOf((short)i);
}
/**
@@ -379,7 +379,7 @@ * base 10. */ public String toString() {
return String.valueOf((int)value);
return Integer.toString((int)value);
}
/**
--- old/src/share/classes/java/lang/String.java 2009-10-07 12🔞08.000000000 -0700 +++ new/src/share/classes/java/lang/String.java 2009-10-07 12🔞08.000000000 -0700 @@ -2995,7 +2995,7 @@ * @see java.lang.Integer#toString(int, int) */ public static String valueOf(int i) {
return Integer.toString(i, 10);
return Integer.toString(i);
}
/**
@@ -3009,7 +3009,7 @@ * @see java.lang.Long#toString(long) */ public static String valueOf(long l) {
return Long.toString(l, 10);
return Long.toString(l);
}
/**
- Previous message: hg: jdk7/tl/jdk: 6887364: SetOutgoingIf.java fails if run on multihomed machine without PIv6 on all interfaces
- Next message: Code review request: bugs 6480728 and 6655735 in the wrapper classes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]