On 01/30/2012 04:58 AM, Joe Darcy wrote:
Hello,
As an indirect outgrowth of warnings cleanup day, various categories
of warnings can be eliminated by in the use of Cloneable types by
overriding the
Object clone()
method inherited from java.lang.Object with a covariant override such as
MyType clone()
Please review my changes for
7140820 Add covariant overrides to Collections clone methods
http://cr.openjdk.java.net/~darcy/7140820.0/
which add such covariant override clone methods to collections and a
few other classes in java.util. Doing a full JDK build with these
changes, I've also made alterations to other classes to remove now
superfuous casts (casts which are a javac lint warning!) and some
unneeded @SuppressWarnings annotations. I also cleaned up a few
rawtypes warnings while in editing files in java.util.
(Note that the old specListeners method in EventRequestSpecList.java
was much buggy; it cast an ArrayList from runtime.specListeners to a
Vector.)
Thanks,
-Joe
WTF !
while it's maybe a binary compatible change, I haven't take a look to
all modified classes to be sure
it's not a source compatible change.
People had created class that inherits from ArrayList and override clone,
while it's not a good practice, there is a *lot* of code from pre-1.5
days that does exactly that,
this change will simply break all those codes.
Rémi