Я учу лямбда-выражения. Я столкнулся со сценарием, который можно понять по следующему коду:
Function<Integer,String> fn = (String s)->s;
В вышеприведенном выражении лямбда-выражения я знаю, что функция принимает аргумент и возвращает упомянутый тип. Но почему мы упоминаем тип аргумента (здесь это Integer) в части «Функция», тогда как аргументы должны передаваться внутри «()». Я знаю, что это часть синтаксиса, но я просто хочу понять момент, когда он может быть полезен. Он запускается, даже если мы передадим другой тип аргумента (String)?