6480728: Byte.valueOf(byte) returns a cached value but Byte.valueOf(String)
authordarcy
Wed, 07 Oct 2009 14:04:20 -0700
changeset 3964 cf913644be58
parent 3963 540aba73fd31
child 3965 63aae8ce7f47
child 4038 ea7aa63169db
child 4039 afadb206ca44
6480728: Byte.valueOf(byte) returns a cached value but Byte.valueOf(String) 6655735: Integer.toString() and String.valueOf(int) contain slow delegations Reviewed-by: lancea
jdk/src/share/classes/java/lang/Byte.java
jdk/src/share/classes/java/lang/Double.java
jdk/src/share/classes/java/lang/Float.java
jdk/src/share/classes/java/lang/Integer.java
jdk/src/share/classes/java/lang/Long.java
jdk/src/share/classes/java/lang/Short.java
jdk/src/share/classes/java/lang/String.java
--- a/jdk/src/share/classes/java/lang/Byte.java	Wed Oct 07 13:53:11 2009 -0700
+++ b/jdk/src/share/classes/java/lang/Byte.java	Wed Oct 07 14:04:20 2009 -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&nbsp;10.
      */
     public String toString() {
-        return String.valueOf((int)value);
+        return Integer.toString((int)value);
     }
 
     /**
--- a/jdk/src/share/classes/java/lang/Double.java	Wed Oct 07 13:53:11 2009 -0700
+++ b/jdk/src/share/classes/java/lang/Double.java	Wed Oct 07 14:04:20 2009 -0700
@@ -629,7 +629,7 @@
      * @see java.lang.Double#toString(double)
      */
     public String toString() {
-        return String.valueOf(value);
+        return toString(value);
     }
 
     /**
--- a/jdk/src/share/classes/java/lang/Float.java	Wed Oct 07 13:53:11 2009 -0700
+++ b/jdk/src/share/classes/java/lang/Float.java	Wed Oct 07 14:04:20 2009 -0700
@@ -551,7 +551,7 @@
      * @see java.lang.Float#toString(float)
      */
     public String toString() {
-        return String.valueOf(value);
+        return Float.toString(value);
     }
 
     /**
--- a/jdk/src/share/classes/java/lang/Integer.java	Wed Oct 07 13:53:11 2009 -0700
+++ b/jdk/src/share/classes/java/lang/Integer.java	Wed Oct 07 14:04:20 2009 -0700
@@ -746,7 +746,7 @@
      *          base&nbsp;10.
      */
     public String toString() {
-        return String.valueOf(value);
+        return toString(value);
     }
 
     /**
--- a/jdk/src/share/classes/java/lang/Long.java	Wed Oct 07 13:53:11 2009 -0700
+++ b/jdk/src/share/classes/java/lang/Long.java	Wed Oct 07 14:04:20 2009 -0700
@@ -761,7 +761,7 @@
      *          base&nbsp;10.
      */
     public String toString() {
-        return String.valueOf(value);
+        return toString(value);
     }
 
     /**
--- a/jdk/src/share/classes/java/lang/Short.java	Wed Oct 07 13:53:11 2009 -0700
+++ b/jdk/src/share/classes/java/lang/Short.java	Wed Oct 07 14:04:20 2009 -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&nbsp;10.
      */
     public String toString() {
-        return String.valueOf((int)value);
+        return Integer.toString((int)value);
     }
 
     /**
--- a/jdk/src/share/classes/java/lang/String.java	Wed Oct 07 13:53:11 2009 -0700
+++ b/jdk/src/share/classes/java/lang/String.java	Wed Oct 07 14:04:20 2009 -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);
     }
 
     /**