From 20e8a8fd5c4f06911ffeb5dfd143d34a3f68252e Mon Sep 17 00:00:00 2001 From: darcy Date: Thu, 9 Jul 2009 12:31:30 -0700 Subject: [PATCH] 6628737: Specification of wrapper class valueOf static factories should require caching Reviewed-by: mr --- src/share/classes/java/lang/Byte.java | 4 ++-- src/share/classes/java/lang/Character.java | 4 ++++ src/share/classes/java/lang/Integer.java | 3 +++ src/share/classes/java/lang/Long.java | 5 +++++ src/share/classes/java/lang/Short.java | 3 +++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/share/classes/java/lang/Byte.java b/src/share/classes/java/lang/Byte.java index 2bb6480c5..ba7486377 100644 --- a/src/share/classes/java/lang/Byte.java +++ b/src/share/classes/java/lang/Byte.java @@ -90,8 +90,8 @@ public final class Byte extends Number implements Comparable { * If a new {@code Byte} instance is not required, this method * should generally be used in preference to the constructor * {@link #Byte(byte)}, as this method is likely to yield - * significantly better space and time performance by caching - * frequently requested values. + * significantly better space and time performance since + * all byte values are cached. * * @param b a byte value. * @return a {@code Byte} instance representing {@code b}. diff --git a/src/share/classes/java/lang/Character.java b/src/share/classes/java/lang/Character.java index e33052ee1..9b9c938fa 100644 --- a/src/share/classes/java/lang/Character.java +++ b/src/share/classes/java/lang/Character.java @@ -2571,6 +2571,10 @@ class Character extends Object implements java.io.Serializable, ComparableCharacter instance representing c. * @since 1.5 diff --git a/src/share/classes/java/lang/Integer.java b/src/share/classes/java/lang/Integer.java index 50863dd7e..da35d2f7a 100644 --- a/src/share/classes/java/lang/Integer.java +++ b/src/share/classes/java/lang/Integer.java @@ -638,6 +638,9 @@ public final class Integer extends Number implements Comparable { * to yield significantly better space and time performance by * caching frequently requested values. * + * This method will always cache values in the range -128 to 127, + * inclusive, and may cache other values outside of this range. + * * @param i an {@code int} value. * @return an {@code Integer} instance representing {@code i}. * @since 1.5 diff --git a/src/share/classes/java/lang/Long.java b/src/share/classes/java/lang/Long.java index c632d5df2..a2fe09c95 100644 --- a/src/share/classes/java/lang/Long.java +++ b/src/share/classes/java/lang/Long.java @@ -560,6 +560,11 @@ public final class Long extends Number implements Comparable { * significantly better space and time performance by caching * frequently requested values. * + * Note that unlike the {@linkplain Integer#valueOf(int) + * corresponding method} in the {@code Integer} class, this method + * is not required to cache values within a particular + * range. + * * @param l a long value. * @return a {@code Long} instance representing {@code l}. * @since 1.5 diff --git a/src/share/classes/java/lang/Short.java b/src/share/classes/java/lang/Short.java index 8abbf65d6..a5d72120d 100644 --- a/src/share/classes/java/lang/Short.java +++ b/src/share/classes/java/lang/Short.java @@ -219,6 +219,9 @@ public final class Short extends Number implements Comparable { * significantly better space and time performance by caching * frequently requested values. * + * This method will always cache values in the range -128 to 127, + * inclusive, and may cache other values outside of this range. + * * @param s a short value. * @return a {@code Short} instance representing {@code s}. * @since 1.5 -- GitLab