как показать vectorTile на негеографических картах

Как упоминалось другими, причина, по которой get() и т. д. не является общей, потому что ключ для записи, которую вы извлекаете, не должен быть того же типа, что и объект, который вы передаете get(); спецификация метода требует только того, чтобы они были равны. Это следует из того, как метод equals() принимает параметр Object as, а не только тот же тип, что и объект.

Хотя может быть общепринято, что многие классы имеют equals() так, чтобы его объекты может быть только равным объектам своего класса, на Java есть много мест, где это не так. Например, в спецификации List.equals() указано, что два объекта List равны, если они оба являются списками и имеют одно и то же содержимое, даже если они являются разными реализациями List. Поэтому, возвращаясь к примеру в этом вопросе, согласно спецификации метода возможно иметь Map<ArrayList, Something> и для меня, чтобы вызвать get() с аргументом LinkedList как, и он должен получить ключ, который является список с тем же содержимым. Это было бы невозможно, если get() были родовыми и ограничивали свой тип аргумента.

0
задан Luca Cappelletti 13 July 2018 в 07:23
поделиться