Почему TreeMap
типа Map
не определяет методы tailMap
или headMap
.
Map<String, String> map = new TreeMap<>();
map.tailMap(); //cannot resolve method tailMap
При явном приведении это работает:
((TreeMap<String, String>) map).tailMap("a");
СNavigableMap
все хорошо:
NavigableMap<String, String> map1 = new TreeMap<>();
map1.tailMap("a");
Если я прав, то из-за интерфейса Map
отсутствуют соответствующие методы, несмотря на то, что объект map
является конкретной реализацией класса TreeMap
который, безусловно, обладает такими методами.
Просто ищу более подробное объяснение.
Спасибо!