Дженерики привносят много хорошего в Java, но они также означают проблемы из-за введения методов моста, которые означают, что не легко найти метод с именем и целью, потому что методы стирания и моста означают, что клиенты фактически используют мостчем цель.
Типы возврата из методов были опущены, потому что они не важны для этой очереди ...
class Super{
}
class Sub extends Super{
}
interface Interface<T extends Super>{
method( T t ); // erased -> method( Super super );
}
interface Interface2 extends Interface<T extends Sub>{
method2( T t ); // erased -> method2( Sub sub );
}
class Concrete implements Interface2{
method( Sub sub ); // erased to method( Super super);
method2( Sub sub );
}
как я могу программно определить, что Concrete.method (Super) заканчиваетсявызывать Concrete.method (Sub)?Я хотел бы избежать вычислений, основанных на параметризованных типах, и что нет, поскольку это быстро усложняется ...
Я смотрел на Springs BridgeMethodResolver, но он довольно сложный и делает много вещей, конечно, есть более простой способ.Возможно, нет ..