Если вы не можете изменить метод myFn
, то читерство - вариант:
private <returntype> myFnAdapter(String s , List<Double> l1Double, List<Double> l2Double) {
// the following lines do create warnings
// it's safe, because all list items always extend Number.
List l1TypeErased = l1Double;
List<Number> l1Number = l1TypeErased;
List l2TypeErased = l2Double;
List<Number> l2Number = l2TypeErased;
return myFn(s, l1Number, l2Number);
}
Вы должны увидеть некоторые предупреждения, вот и все.Но мы знаем, что получаем списки Double
с и что все элементы этих списков расширяются Number
, поэтому это не вызовет проблем во время выполнения.Просто добавьте комментарий, чтобы объяснить тип стирания.Это дешевле, чем копировать все значения в новые списки.