欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > Java 中常用内置接口函数

Java 中常用内置接口函数

2025/4/2 14:10:11 来源:https://blog.csdn.net/Broken_x/article/details/142027178  浏览:    关键词:Java 中常用内置接口函数

        在 Java 8 及以后的版本中,引入了许多函数式编程的特性,其中最重要的就是内置的函数式接口。这些接口使得编写更简洁、可读性更强的代码成为可能。今天我将介绍四个常用的内置接口:PredicateFunctionConsumer 和 Supplier,并提供示例代码以帮助理解其用法。

1. Supplier 接口

  Supplier<T> 是一个供给型接口,它没有输入参数,但会返回一个类型为 T 的对象。常用于需要延迟计算或生成对象的场景。

源码

示例

package com.school;import java.util.Arrays;
import java.util.function.Supplier;/*** 文件名: null.java* 作者: 20526* 创建时间: 2024/9/8 14:08* 描述:Supplier接口*/
public class SupplierDemo {public static void main(String[] args) {testSupplier(()->{int[] arr = {1, 2, 20, 4, 9};Arrays.sort(arr);return arr[arr.length - 1];});}/*** 供给型接口Supplier<T>的使用* 传入一个泛型参数T,返回类型为T的对象*/public static void testSupplier(Supplier<Integer> supplier) {int max = supplier.get();System.out.println("最大值: " + max);}
}

2. Consumer 接口

  Consumer<T> 是一个消费型接口,它接受一个类型为 T 的输入参数,但没有返回值。常用于执行某些操作,例如打印或处理数据。

源码

示例

package com.school;import java.util.function.Consumer;/*** 文件名: null.java* 作者: 20526* 创建时间: 2024/9/8 14:14* 描述:Consumer接口*/
public class ConsumerDemo {public static void main(String[] args) {//Lambda表达式作省略写法testconsume( s-> System.out.println(s.toUpperCase()));// 使用匿名内部类实现Consumer接口testconsume(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.println(s.toUpperCase());}});}/*** 消费型接口Consumer* 传入一个泛型T,没有返回值,用于消费数据*/public static void testconsume(Consumer<String> consumer) {System.out.println("a a a");consumer.accept("Hello World");}
}

3. Function 接口

  Function<T, R> 是一个函数型接口,它接受一个类型为 T 的输入参数,并返回一个类型为 R 的结果。常用于转换数据类型或执行某些计算。

源码

示例

package com.school;import java.util.function.Function;/*** 文件名: null.java* 作者: 20526* 创建时间: 2024/9/8 14:30* 描述:Function接口*/
public class FunctionDemo {public static void main(String[] args) {getNumber( s -> Integer.parseInt(s));}public static void getNumber(Function<String, Integer> function) {Integer i = function.apply("123");System.out.println("i = "+i);}}

4. Predicate 接口

  Predicate<T> 是一个断言型接口,它接受一个类型为 T 的输入参数,并返回一个布尔值。常用于过滤或测试条件。

源码

示例

package com.school;import java.util.function.Predicate;/*** 文件名: PredicateDemo.java* 作者: 20526* 创建时间: 2024/9/8 14:45* 描述: Predicate接口*/
public class PredicateDemo {public static void main(String[] args) {testPredicate(s -> s.length() > 5);}public static void testPredicate(Predicate<String> predicate) {String testString = "HelloWorld";boolean result = predicate.test(testString);System.out.println("字符串长度大于5: " + result);}
}

总结

        Java 的内置函数式接口提供了强大的功能,使得开发者能够以更简洁的方式编写代码。通过 SupplierConsumerFunction 和 Predicate,我们可以轻松地实现延迟计算、数据处理、类型转换和条件判断。这些接口在 Java 8 的流式 API 中得到了广泛应用,极大地提升了代码的可读性和可维护性。希望对你有所帮助。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词