JDK-4881719 : generify core language classes
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang
  • Affected Version: 5.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_8
  • CPU: generic
  • Submitted: 2003-06-20
  • Updated: 2017-05-16
  • Resolved: 2003-08-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 tigerFixed
Related Reports
Relates :  
Description
Please retrofit the core langauge classes using generics.
See "Suggested Fix" for the proposed changes.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger FIXED IN: tiger INTEGRATED IN: tiger tiger-b14
14-06-2004

SUGGESTED FIX ==================== java/lang/String.java ==================== package java.lang; import java.io.UnsupportedEncodingException; import java.util.Comparator; import java.util.Locale; public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // added <String> public int compareTo(String anotherString); // removed compareTo(Object), which is now compiler-generated public static final Comparator<String> CASE_INSENSITIVE_ORDER; // added <String> } ==================== java/lang/Comparable.java ==================== package java.lang; public interface Comparable<T> { // added <T> public int compareTo(T o); // replaced Object with T } ==================== java/lang/Character.java ==================== package java.lang; public final class Character extends Object implements java.io.Serializable, Comparable<Character> { // added <Character> public int compareTo(Character anotherCharacter); // deleted compareTo(Object), which is now compiler-generated } ==================== java/lang/Byte.java ==================== package java.lang; public final class Byte extends Number implements Comparable<Byte> { // added <Byte> public static final Class<Byte> TYPE; // added <Byte> public int compareTo(Byte anotherByte); // deleted compareTo(Object), which is now compiler-generated } ==================== java/lang/Double.java ==================== package java.lang; public final class Double extends Number implements Comparable<Double> { // added <Double> public static final Class<Double> TYPE; // added <Double> public int compareTo(Double anotherDouble); // deleted compareTo(Object), which is now compiler-generated } ==================== java/lang/Float.java ==================== package java.lang; public final class Float extends Number implements Comparable<Float> { // added <Float> public static final Class<Float> TYPE; // added <Float> public int compareTo(Float anotherFloat); // deleted compareTo(Object), which is now compiler-generated } ==================== java/lang/Integer.java ==================== package java.lang; public final class Integer extends Number implements Comparable<Integer> { // added <Integer> public static final Class<Integer> TYPE; // added <Integer> public int compareTo(Integer anotherInteger); // deleted compareTo(Object), which is now compiler-generated } ==================== java/lang/Long.java ==================== package java.lang; public final class Long extends Number implements Comparable<Long> { // added <Long> public static final Class<Long> TYPE; // added <Long> public int compareTo(Long anotherLong); // deleted compareTo(Object), which is now compiler-generated } ==================== java/lang/Short.java ==================== package java.lang; public final class Short extends Number implements Comparable<Short> { // added <Short> public static final Class<Short> TYPE; // added <Short> public int compareTo(Short anotherShort); // deleted compareTo(Object), which is now compiler-generated } ==================== java/lang/Boolean.java ==================== package java.lang; public final class Boolean implements java.io.Serializable { public static final Class<Boolean> TYPE; // added <Boolean> } ==================== java/lang/ThreadLocal.java ==================== package java.lang; import java.lang.ref.*; public class ThreadLocal<T> { // added <T> public ThreadLocal(); protected T initialValue(); // changed Object to T public T get(); // changed Object to T public void set(T value); // changed Object to T } ==================== java/lang/Void.java ==================== package java.lang; public final class Void { public static final Class<Void> TYPE; // added <Void> private Void(); }
11-06-2004

PUBLIC COMMENTS ...
10-06-2004

EVALUATION Yes, as per suggested fix. ###@###.### 2003-06-20
20-06-2003