Am 12.08.2011 01:03, schrieb Joe Darcy:
Hello.
On 8/11/2011 1:56 PM, Rémi Forax wrote:
On 08/11/2011 10:19 PM, assembling signals wrote:
Hello, community!
Enum does implement Comparable, while EnumSet does NOT implement SortedSet and EnumMap doesn NOT
implement SortedMap.
Should I file a bug report (RFE), would there be a chance to see this being
implemented in JDK8?
I've asked the same question with NavigableSet/Map during the JDK6 timeframe
so you should find the answer by Doug Lea on the concurrency-interest list
[email protected]
Furthermore, you can't retrofit EnumSet to implement SortedSet
(an interface that already exists)
because since 1.5, a lot of code was written and some may rely on
the fact that EnumSet doesn't implement SortedSet.
Actually, that is not the sort of compatibility contract we usually worry about enforcing over
time. For example, in JDK 7 I retrofitted the java.io.Closeable interface to several
long-standing classes with close methods that were not retrofitted before.
If this is correct, why can't we add method clone to interface Cloneable? See Bug ID: 4098033
Cloneable doesn't define .clone <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4098033> .
I think you can add methods (e.g. via adding an interface) to an existing *regular* class, but not
to an abstract class or interface without breaking source compatibility seriously.
EnumSet is *abstract* class.
Am I wrong, please correct me?
-Ulf