It's not binary compatible, as changing the return type results in a new method that compiled code won't be able to find.

See also "change result type (including void)" here: https://wiki.eclipse.org/Evolving_Java-based_APIs_2#Evolving_API_interfaces_-_API_methods

--John

On 30/05/2022 03:22, Nir Lisker wrote:
Hi,

Picking up an old issue, JDK-8091393 [1], I went ahead and looked at the
work needed to implement it.

keySet() and entrySet() can both be made to return ObservableSet rather
easily. values() will probably require an ObservableCollection<E> type.

Before discussing these details, my question is: is it backwards compatible
to require that these  methods now return a more refined type? I think that
it will break implementations of ObservableMap out in the wild if it
overrides these methods in Map. What is the assessment here?

https://bugs.openjdk.java.net/browse/JDK-8091393

Reply via email to