Может ли Java-лямбда иметь более 1 параметра?

Можно ли в Java иметь лямбду, принимающую несколько разных типов?

Т.е.: работает одна переменная:

    Function <Integer, Integer> adder = i -> i + 1;
    System.out.println (adder.apply (10));

Вараргс также работает:

    Function <Integer [], Integer> multiAdder = ints -> {
        int sum = 0;
        for (Integer i : ints) {
            sum += i;
        }
        return sum;
    };

    //.... 
    System.out.println ((multiAdder.apply (new Integer [] { 1, 2, 3, 4 })));

Но я хочу что-то, что может принимать множество различных типов аргументов, например:

    Function <String, Integer, Double, Person, String> myLambda = a , b, c, d->  {
    [DO STUFF]
    return "done stuff"
    };

Основное использование - для удобства иметь небольшие встроенные функции внутри функций.

Я осмотрел Google и проверил функциональный пакет Java, но не смог найти. Это возможно?

140
задан Line 11 October 2018 в 15:42
поделиться