Как перегрузить метод методом с помощью списка параметров, который содержит параметры точно такого же типа, но параметризованные с другими типами
У меня есть методы:
public List<Integer> convertBy(Function<String, List<String>> flines, Function<List<String>, String> join, Function<String, List<Integer>> collectInts) {
return collectInts.apply(join.apply(flines.apply((String) value)));
}//first method
public Integer convertBy(Function<List<String>, String> join, Function<String, List<Integer>> collectInts, Function<List<Integer>, Integer> sum) {
return sum.apply(collectInts.apply(join.apply((List<String>) value)));
}//second method
Несмотря на то, что их параметры параметризованы разными типами, я не могу перегрузить первый метод. Я мог бы использовать другой интерфейс, кромеFunction<T,R>
но не знаю, какой из них будет достаточно, когда я просмотрел их список и не смог найтиhttps://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html.
Параметры в этих функциях:
flines
- читает файл по указанному пути (String
) и возвращает список строк в этом файле (List<String>
)
join
- объединяет элемент данногоList<String>
и возвращаетString
collectInts
- разбирает данноеString
и возвращает список целых чисел, найденных в этомString
.
sum
- добавляет элементы изList<Integers>
и возвращает сумму
Вопросы:
Могу ли я перегрузить первый метод вторым?
Какой другой существующий функциональный интерфейс я мог бы использовать помимо функции? Я думаю, что нет, так как типы аргумента и результата всегда различаются.