Ошибка компилятора [Java123] метод перегрузка встречается: оба метод имеет то же самое стирание => Java введены генерик типа стирание

Сцена:

Когда два параметра следующим перегруженной функции

аннулируются FUNC (Map <Integer, String> карта) {}

аннулируются FUNC (Map <Integer, List <String >> Карта) {}

IDE сообщит об ошибке компиляции: оба метода имеет же стирание

 

Ответ:

Поскольку Java дженериков после удаления типа во время компиляции, эти методы станут

аннулируются FUNC (Карта Карта)

 

 

Запрос немного, есть несколько понятий, необходимых для понимания и мастеров.

https://www.jianshu.com/p/f9da328c91be

Шаблон отличается от Java генериков в C ++: Java генериков является «тип стирания», шаблоны C ++ являются «овеществленная родовое» .

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

 

Характер типа стирания

Дженерики (T) -> Компилятор (тип стирания) -> оригинальный тип (Т заменены Object)
общие (XXX распространяется?) -> Компилятор (тип стирания) -> Оригинальный типа (Т XXX в качестве альтернативы)
исходный тип относится к общей информация стирается после того, как компилятор, типа конкретного типа переменных байт - код.

в результате ограничений универсального типа стирания

Уменьшение общего типа стирание обобщения, некоторые важные контексты общего тип не может быть использован, с некоторыми ограничениями.
 
 

Неявное преобразование типа во время выполнения накладных расходов: использование дженериков, Java компилятор автоматически генерирует код, чтобы помочь нам преобразование типов, которое по отношению к C ++ шаблон, несомненно, приносит дополнительные накладные расходы на производительность.

Перегруженные сигнатуры методов конфликта

Класс не может быть достигнут с двумя вариантами общего интерфейса

 

 

https://blog.csdn.net/abc_12366/article/details/79177328

https://blog.csdn.net/weixin_34121282/article/details/88535522  карте Дженерики

 

рекомендация

отwww.cnblogs.com/cathygx/p/11365253.html