hooyantsing's Blog

25_函数型接口、断定型接口、消费型接口和

字数统计: 323阅读时长: 1 min
2020/08/28

25 函数型接口、断定型接口、消费型接口和

狂神说Java JUC并发编程最新版通俗易懂

案例里的泛型使用的都是String,也可以使用其他的。

4大基本函数式接口

  • Function 函数型接口
  • Predicate 断定型接口
  • Consumer 消费型接口
  • Supplier 供给型接口

    Function 函数型接口

输入一种类型对象,返回另一种类型对象。

1
2
3
4
5
6
7
8
9
10
package function;

import java.util.function.Function;

public class Demo01 {
public static void main(String[] args) {
Function<String,String> function = (str) -> {return str;};
System.out.println(function.apply("Hooy"));
}
}

Predicate 断定型接口

返回的是 true / false。

1
2
3
4
5
6
7
8
9
10
package function;

import java.util.function.Predicate;

public class Demo02 {
public static void main(String[] args) {
Predicate<String> predicate = (str) -> {return str.isEmpty();};
System.out.println(predicate.test("Hooy"));
}
}

Consumer 消费型接口

相当于消费者。只有输入参数,没有返回值。

1
2
3
4
5
6
7
8
9
10
11
12
package function;

import java.util.function.Consumer;

public class Demo03 {
public static void main(String[] args) {
Consumer<String> consumer = (str) -> {
System.out.println(str);
};
consumer.accept("Hooy");
}
}

Supplier 供给型接口

相当于生产者。不需要输入参数,有返回值。

1
2
3
4
5
6
7
8
9
10
package function;

import java.util.function.Supplier;

public class Demo04 {
public static void main(String[] args) {
Supplier<String> supplier = () -> {return "Hooy";};
System.out.println(supplier.get());
}
}
CATALOG
  1. 1. 25 函数型接口、断定型接口、消费型接口和
    1. 1.0.1. Function 函数型接口
    2. 1.0.2. Predicate 断定型接口
    3. 1.0.3. Consumer 消费型接口
    4. 1.0.4. Supplier 供给型接口