Java中的函数接口,你都用过了吗

2023年 12月 22日 42.8k 0

在这篇文章中,我们将通过示例来学习 Java 函数式接口。

一、函数式接口的特点

  • 只包含一个抽象方法的接口称为函数式接口。
  • 它可以有任意数量的默认静态方法,但只能包含一个抽象方法。它还可以声明对象类的方法。
  • 函数接口也称为单一抽象方法接口或SAM 接口。
  • 函数式接口只有在没有任何抽象方法时才可以扩展另一个接口。
  • Java API 具有许多单方法接口,例如 Runnable、Callable、Comparator、ActionListener等。它们可以使用匿名类语法来实现和实例化。

二、接口示例

创建一个自定义的Sayable接口,这是一个使用@FunctionalInterface注解的函数式接口。@FunctionalInterface注解表示该接口是一个函数式接口,并且只包含一个抽象方法。

1.自定义函数接口示例:

@FunctionalInterface  
interface Sayable{  
    void say(String msg);   // abstract method   
}  

让我们通过main()方法来演示一个自定义的函数式接口。我们使用Lambda表达式来实现函数式接口。

public class FunctionalInterfacesExample {

    public static void main(String[] args) {

        Sayable sayable = (msg) -> {
            System.out.println(msg);
        };
        sayable.say("Say something ..");
    }
}

2.Predefined 函数接口

Java提供了Predefined的函数式接口,通过使用 lambda 和方法引用来处理函数式编程。

Predicate是检查条件的函数,它接受一个参数并返回boolean结果。

让我们来看一下Predicate接口的内部实现。

import java.util.function.Predicate;

public interface Predicate {
boolean test(T t);

default Predicate and(Predicate

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论