Как я могу опубликовать свой четвертый пост с приоритетом.

Совместимость.

До того, как появились дженерики, было только что (Object o).

Если бы они изменили этот метод, чтобы получить (& lt; K> o), он будет иметь потенциально принудительное массовое обслуживание кода для пользователей java, чтобы снова скомпилировать рабочий код.

Они могли ввели дополнительный метод , например get_checked (& lt; K> o) и обесценить старый метод get (), чтобы существовал более мягкий путь перехода. Но почему-то это не было сделано. (Ситуация, в которой мы сейчас находимся, заключается в том, что вам необходимо установить такие инструменты, как findBugs, для проверки совместимости типов между аргументом get () и объявленным типом ключа & lt; K> на карте.)

Аргументы Я думаю, что использование семантики .equals () является фиктивным. (Технически они верны, но я все еще думаю, что они фиктивные. Ни один дизайнер в здравом уме никогда не сделает o1.equals (o2) истинным, если o1 и o2 не имеют общего суперкласса.)

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