На первый взгляд кажется, что у вас есть следующие опции:
- , если вы уверены, что ваш «дублированный код» всегда возвращает правильный тип, тогда вы всегда можете привести (может вызвать проблемы во время выполнения) но это не имеет ничего общего с обобщениями, тип возвращаемого значения не может зависеть от нуля или нет
Employee getEmployee(String id){
return (Employee) get(id);
}
List<Employee> getEmployees(){
return (List<Employee>) get(null);
}
другой вариант - всегда возвращать List в методе
get и просто получать первый элемент в методе
getEmployee (не забудьте проверить, не является ли он пустым, чтобы избежать IndexOutOfBoundsException)
Я считаю, что могут быть лучшие варианты. Также вы можете поделиться этой удаленной частью, возможно, она может быть улучшена. Честно говоря, у меня есть проблемы, если он полностью идентичен.