欢迎访问宙启技术站
智能推送

在Java中使用函数接口的实例和使用方法引用的例子是什么?

发布时间:2023-06-26 21:31:54

Java中使用函数接口的实例和使用方法引用的例子包括以下内容:

函数接口:

1.使用Function接口将字符串转换为整数:

Function<String, Integer> convertToInt = Integer::valueOf;

Integer result = convertToInt.apply("10");

System.out.println(result);

输出结果为10。

2.使用Predicate接口过滤不符合条件的元素:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);

Predicate<Integer> isEven = n -> n % 2 == 0;

list.stream().filter(isEven).forEach(System.out::println);

输出结果为2, 4, 6。

3.使用Consumer接口对元素进行操作:

List<String> list = Arrays.asList("apple", "banana", "orange");

Consumer<String> printString = System.out::println;

list.forEach(printString);

输出结果为apple, banana, orange。

方法引用:

1.使用静态方法引用实现Lambda表达式:

Function<String, Integer> convertToInt = Integer::valueOf;

Integer result = convertToInt.apply("10");

System.out.println(result);

输出结果为10。

2.使用实例方法引用实现Lambda表达式:

List<String> list = Arrays.asList("apple", "banana", "orange");

list.sort(String::compareToIgnoreCase);

System.out.println(list);

输出结果为[apple, banana, orange]。

3.使用构造函数引用实现Lambda表达式:

Supplier<List<Integer>> createList = ArrayList::new;

List<Integer> list = createList.get();

list.add(1);

list.add(2);

list.add(3);

System.out.println(list);

输出结果为[1, 2, 3]。

总结:

Java中的函数接口和方法引用可以简化Lambda表达式的编写,并且提高代码的可读性和可维护性。函数接口是指只包含一个抽象方法的接口,用于表示Lambda表达式的类型。方法引用是使用已有的方法实现Lambda表达式的方式。在使用函数接口和方法引用时,需要注意接口的参数和返回值类型,以及方法是否符合接口的抽象方法定义。