Interfaces numéricas de uso común en Java

Cuando aprendemos expresiones lambda, sabemos que para usar expresiones lambda, tenemos que crear una interfaz funcional. Luego, cada vez que usamos expresiones lambda, tenemos que crear una interfaz manualmente. ¿No es muy problemático? En ese momento, Java dio us cuatro interfaces funcionales básicas integradas.

1. Consumidor: interfaz de consumidor, aceptación nula (T t)

La interfaz del consumidor representa una operación que acepta un parámetro de entrada y no devuelve ningún retorno. Los ejemplos son los siguientes:

public static void main(String[] args) {
    
    
        Consumer<String> consumer = (name)-> System.out.println("我叫"+name);
        consumer.accept("张三");
    }

2. Proveedor: interfaz de suministro, T get()

Los parámetros de suministro no representan parámetros y devuelven un resultado

SimpleDateFormat dateFormat = new SimpleDateFormat("yy-MM-dd hh:mm:ss");
        Supplier supplier = Date::new;
        System.out.println("当前时间是:"+ dateFormat.format(supplier.get()));

resultado de la operación:
inserte la descripción de la imagen aquí

3. Función <T, R>: interfaz funcional, aplicación R (T t)

Toma un parámetro de entrada y devuelve un resultado

Function<Double,String> function = (num) -> "消费"+num+"元";
        System.out.println(function.apply(32.1));;

4. Predicado: interfaz de afirmación, prueba booleana (T t)

Pase un parámetro, de acuerdo con este parámetro, devuelva un tipo booleano.

 public static void main(String[] args) {
    
    
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
        System.out.println("输出所有偶数");
        eval(list,(n)->n%2 == 0);

    }

    public static void eval(List<Integer> list, Predicate<Integer> predicate) {
    
    
        for(Integer n: list) {
    
    

            if(predicate.test(n)) {
    
    
                System.out.println(n + " ");
            }
        }
    }

5. Otras interfaces

Además de las interfaces funcionales anteriores, Java también tiene algunas otras interfaces funcionales integradas. Generalmente, solo necesitas entenderlo, y no sueles usarlo demasiado.
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_45171957/article/details/124231051
Recomendado
Clasificación