Как перегрузить метод методом с помощью списка параметров, который содержит параметры точно такого же типа, но параметризованные с другими типами

У меня есть методы:

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> и возвращает сумму

Вопросы:

Могу ли я перегрузить первый метод вторым?

Какой другой существующий функциональный интерфейс я мог бы использовать помимо функции? Я думаю, что нет, так как типы аргумента и результата всегда различаются.

Ответы на вопрос(1)

Ваш ответ на вопрос