What methods should go into a java.util.Objects class in JDK 7?

Tom Hawtin Thomas.Hawtin at Sun.COM
Mon Oct 12 11:54:38 UTC 2009


Joseph D. Darcy wrote:

> Classes with only private constructors, like j.u.Objects, are 
> effectively final.  Adding final is harmless but unnecessary in these 
> cases.  The platform is a bit inconsistent here; j.u.Collections is 
> *not* marked final while j.l.Math is.

For a certain value of effective. *Current* *Java* *source* may not 
subclass a non-final class with only private constructors. I believe a 
verfiable subclass can be created as a class file that does not have a 
constructor (or possibly definitely throws an exception?). Unless 
something is seriously wrong, that shouldn't cause a security issue. It 
might be an issue for other languages on the JVM.

>                                        In practice, it doesn't matter 
> very much; I'll consider final-izing j.u.Objects on the next round of 
> edits.

Oh don't put a finalizer on it. ;)

Tom Hawtin



More information about the core-libs-dev mailing list