осознал что у Map функция get(...) принимает Object. Это значит, что поиске объекта вовсе не обязательно конструировать ключ, достаточно создать объект любого типа с правильными hashCode() и equals(Object). Практическое применение — лукапы в Map<String, ?>, при которых можно избежать конструирования String'а из char[]