java Function函数中的BinaryOperator<T>接口用于执行lambda表达式并返回一个T类型的返回值,下面的BinaryOperator用法示例让你简单了解一下。
import java.util.function.BinaryOperator; public class TestDemo { public static void main(String[] args) { BinaryOperator<Integer> add = (n1, n2) -> n1 + n2; //apply方法用于接收参数,并返回BinaryOperator中的Integer类型 System.out.println(add.apply(3, 4)); } }
返回结果为:7
当然了,也可以用来操作字符串的lambda表达式,如下。
public class TestDemo { public static void main(String[] args) { BinaryOperator<String> addStr = (n1, n2) -> n1 +"==="+ n2; //apply方法用于接收参数,并返回BinaryOperator中的String类型 System.out.println(addStr.apply("3", "4")); } }
返回结果就是字符串:3==4
BinaryOperator<T>中有两个静态方法,是用于比较两个数字或字符串的大小。
//获取更小的值 static <T> BinaryOperator<T> minBy(Comparator<? super T> comparator) //获取更大的值 static <T> BinaryOperator<T> maxBy(Comparator<? super T> comparator)
下面用小案例来学习下这两个静态方法的使用。
minBy方法使用:
import java.util.Comparator; import java.util.function.BinaryOperator; public class TestDemo { public static void main(String[] args) { BinaryOperator<Integer> bi = BinaryOperator.minBy(Comparator.naturalOrder()); System.out.println(bi.apply(2, 3)); } }
返回结果为:2
maxBy方法使用:
public class TestDemo { public static void main(String[] args) { BinaryOperator<Integer> bi = BinaryOperator.minBy(Comparator.naturalOrder()); System.out.println(bi.apply(2, 3)); } }
返回结果为:3