Я бы не решался назвать один «правильный», а другой «неправильный», но вариант 1 кажется «лучшим».В Варианте 1 используются универсальные шаблоны, и одно из основных преимуществ универсальных шаблонов заключается в том, чтобы избежать выполнения неудобного instanceof
, сопровождаемого приведением из Варианта 2. Однако обобщенные элементы изначально не были частью Java, поэтому в некотором устаревшем коде все еще используется подход Варианта 2..