一元运算符功能接口与消费者功能接口有什么区别? [已关闭]

问题描述 投票:0回答:2

我想知道 Unary-Operator 和 Consumer 函数式接口有什么区别?

最终,他们都得到了一个函数并将其应用于通用 T。

提前谢谢您!

java consumer functional-interface unary-operator
2个回答
2
投票

Consumer 是一种采用泛型类型 T 的参数并且没有返回值(void)的方法。 UnaryOperator 是一种采用泛型类型 T 的参数并返回相同类型 (T) 的值的方法。

示例:

//Traditionally:
public List<Integer> double(List<Integer> numbers) {
    List<Integer> doubleNumbers = new ArrayList<>();
    for (Integer number : numbers) {
        doubleNumbers.add(number * 2);
    }
    return doubleNumbers;
}

//With UnaryOperator:
UnaryOperator<Integer> double = n -> n * 2;
List<Integer> doubleNumbers = numbers.stream()
    .map(double)
    .collect(Collectors.toList());

© www.soinside.com 2019 - 2024. All rights reserved.