Java NavigableMap почему headMap return отличается для одних и тех же методов


Относительно метода Java TreeMap (или интерфейса NavigableMap):

public SortedMap<K,V> headMap(K toKey)
public NavigableMap<K,V> headMap(K toKey, boolean inclusive)

Почему они возвращают разные типы? Я знаю, что SortedMap-это супер для NavigableMap,я просто хочу знать, почему инклюзивный флаг требует другого возврата.

Смотреть на код также не имеет смысла, так как версия без включающего флага просто вызывает другой.

Спасибо.

1 3

1 ответ:

Я думаю, что причина-историческая. TreeMap само собой и headMap(K) датируется Java 1.2, тогда как NavigableMap и еще headMap(K, boolean) были введены в Java 1.6.