Any chance to see EnumSet implement SortedSet in JDK8?
Ulf Zibis
Ulf.Zibis at gmx.de
Fri Aug 12 00:21:37 UTC 2011
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
>> concurrency-interest at cs.oswego.edu
>>
>> 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
More information about the core-libs-dev
mailing list