Столкновение имен в Java: два конструктора имеют одинаковое стирание
У меня есть два конструктора в моем классе:
public MyClass1(ArrayList<ClassA>) {}
public MyClass2(ArrayList<ClassB>) {}
Когда я пытаюсь скомпилировать, я получаю сообщение об ошибке:
name clash: MyClass1(java.util.ArrayList<ClassA>) and MyClass2(java.util.ArrayList<ClassB>) have the same erasure
ClassA
а также ClassB
выходят из одного и того же суперкласса, но они по-прежнему являются разными классами, так почему же два конструктора не обрабатываются так, как если бы они имели разные типы параметров?