Я нахожу, что у меня есть метод, который может принимать два типа объектов List <>. Например:Использование обобщений для совместного использования общего метода с несколькими аргументами
public void foo(Long id) {};
выше функция будет называться по нескольким объектам, каждый из которых имеет либо идентификатор типа Long или Integer. Что происходит в том, что для объектов, которые имеют их идентификатор определен как Long, этот метод вызова работает просто отлично:
class Bar {Long id}
Bar test = new Bar(1L);
foo(bar.id);
Но для объектов, которые имеют целочисленный идентификатор, я должен сначала преобразовать целое число в Long перед использованием Foo. Конечно, у меня может быть новый метод, который принимает Integer, но Id скорее не сделает этого. Любой способ сделать это с помощью дженериков?
Может ваш метод быть изменен для обработки других числовых типов, такие как '' Double', Float', и т.д? – Bohemian
Любая причина использования 'Long' и' Integer', а не 'long' и' int'? Поскольку случай использования * id * обычно исключает «null», я не вижу ничего, кроме желания столкнуться с проблемой, которую вы описываете. Поскольку, с 'long' и' int', явное преобразование не требуется ... – Holger