java8常用函数式接口 Supplier 、Consumer、Predicate、Function总结

        //无输入参数,返回T类型的一个结果。
        new Supplier<String>() {
            @Override
            public String get() {
                return null;
            }
        };
        Supplier<String> supplier = () -> "Test supplier";
        supplier.get(); //return String | Test supplier

        //接受一个T类型的参数,无返回。
        new Consumer<String>() {
            @Override
            public void accept(String s) {

            }
        };
        Consumer<String> consumer = (x) -> {
            System.out.println(x);
        };
        //Consumer<String> consumer = System.out::println;
        consumer.accept("Test consumer"); //void | 控制台打印 "Test consumer"

        //接受一个T类型的参数,返回布尔值。
        new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return false;
            }
        };
        Predicate<String> predicate = x -> s.contains("predicate");
        predicate.test("Test predicate"); //return boolean | true

        //接受一个T类型的参数,返回R类型结果。
        new Function<String, Integer>() {
            @Override
            public Integer apply(String s) {
                return null;
            }
        };
        Function<Integer,String> function = x -> "This is Integer:" + x;
        function.apply(100); //return String | "This is Integer:100"

  

原文地址:https://www.cnblogs.com/sueyyyy/p/12095814.html

时间: 2024-08-02 03:05:48

java8常用函数式接口 Supplier 、Consumer、Predicate、Function总结的相关文章

Java 常用函数式接口 —— Supplier接口

JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在 java.util.function 包中被提供. 下面是最简单的Supplier接口及使用示例. Supplier接口概述 // Supplier接口源码 @FunctionalInterface public interface Supplier<T> { /** * Gets a result. * * @return a result */ T get(); } java.util.function.Supp

常用函数式接口与Stream API简单讲解

常用函数式接口与Stream API简单讲解 Stream简直不要太好使啊!!! 常用函数式接口 Supplier<T>,主要方法:T get(),这是一个生产者,可以提供一个T对象. Consumer<T>,主要方法:void accept(T),这是一个消费者,默认方法:andthen(),稍后执行. Predicate<T>,主要方法:boolean test(T t),这是一个判断者,默认方法:and():且,or():或,negate():非. Functio

Java常用函数式接口--Consumer接口andThen()方法使用案例(二)

Java常用函数式接口--Consumer接口使用案例 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10852243.html

常用函数式接口

常用函数式接口 JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在 java.util.function 包中被提供. 下面是简单的几个接口及使用示例. Supplier接口 java.util.function.Supplier<T> 接口仅包含一个无参的方法: T get() .用来获取一个泛型参数指定类型的对 象数据.由于这是一个函数式接口,这也就意味着对应的Lambda表达式需要"对外提供"一个符合泛型类型的对象 数据 /* 常用的函数式接

Java 常用函数式接口 —— Consumer接口

JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在 java.util.function 包中被提供. 下面是最简单的Consumer接口及使用示例. Consumer接口概述 @FunctionalInterface public interface Consumer<T> { /** * 对给定参数执行消费操作. * * @param t 输入参数 */ void accept(T t); default Consumer<T> andThen(Con

Java常用函数式接口--Consumer接口使用案例

第一种方式: 第二种方式: 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10851829.html

Java常用函数式接口--Predicate接口使用案例

原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10852289.html

java8:函数式接口

1.Comparator接口 @FunctionalInterface public interface Comparator<T> { (1)普通方式: public static void main(String[] args) { List<String>list= Arrays.asList("ni","hao"); Collections.sort(list, new Comparator<String>() { @Ov

009-jdk1.8版本新特性一-展方法,Lambda表达式,函数式接口、方法引用构造引用

一.JDK1.8 名称:Spider(蜘蛛) 发布日期:2014-03-18 新特性: 1.1.扩展方法[接口的默认方法] Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法. 在Java中只有单继承,如果要让一个类赋予新的特性,通常是使用接口来实现,在C++中支持多继承,允许一个子类同时具有多个父类的接口与功能,在其他语言中,让一个类同时具有其他的可复用代码的方法叫做mixin.新的Java 8 的这个特新在编译器实现的角度上来说更