Java 8介绍了UnaryOperator和BinaryOperator可以用于指定作为lambda表达式。 UnaryOperator与BinaryOperator是函数式接口。二者根据传入的参数决定了UnaryOperator继承了Function并且BinaryOperator继承了BiFunction. UnaryOperator接受一个操作符并返回相同类型的值。BinaryOperator接收两个操作数返回一个相同类型的值。
UnaryOperatorDemo.java
Find the output.
java.util.function.BinaryOperator是函数式接口,并且是lambda表达式。BinaryOperator继承自 java.util.function.BiFunction。接收两个参数返回一个相同类型的值。例子如下
BinaryOperatorDemo.java
Find the output.
MaxByMinBy.java
Find the Student class used in Example.
Student.java
Find the output.
UnaryOperator
java.util.function.UnaryOperator是java 8的函数式接口,继承于java.util.function.Function。UnaryOperator接收一个参数,并返回类型的参数。 UnaryOperator作为lambda表达式传递一个参数。使用UnaryOperator时,需要定义Function.apply(Object),实例会是UnaryOperator的实例。例子如下UnaryOperatorDemo.java
java.util.function.BinaryOperator是函数式接口,并且是lambda表达式。BinaryOperator继承自 java.util.function.BiFunction。接收两个参数返回一个相同类型的值。例子如下
BinaryOperatorDemo.java
BinaryOperator.maxBy and BinaryOperator.minBy
BinaryOperator.maxBy accepts a Compotator and returns BinaryOperator which will return maximum between two elements. In the same way, BinaryOperator.minBy is used to get minimum between two elements.MaxByMinBy.java
Student.java