Introducción a lambda en java

lambda

El formato estándar de la expresión lambda :
consta de tres partes

  • 1. Algunos parámetros
  • 2. Una flecha
  • 3. Un fragmento de código

Formato :
(lista de parámetros -> {algunos códigos de método reescritos};
formato de explicación
(): la lista de parámetros del método abstracto en la interfaz. Si no hay ningún parámetro, déjelo en blanco; si hay parámetros, escriba los parámetros y use comas para varios parámetros Separación
->: el significado de pasar, pasar parámetros al cuerpo del método {}
{} :; el cuerpo del método del método abstracto que anula la interfaz.
Nota:

  • Lambda debe tener una interfaz y solo hay un método abstracto en la interfaz
  • Independientemente del ejecutable integrado de jdk, la interfaz de comparación o la interfaz personalizada, lambda solo se puede usar cuando el método abstracto de la interfaz existe y es único.
  • 2. Se infiere que lambda debe tener contexto.
    Es decir, el tipo de parámetro o variable local en el método debe ser el tipo de interfaz correspondiente a la lambda, para poder utilizar la lambda como columna real de la interfaz
    (el contenido se puede deducir del contexto, se puede omitir) el contenido que la lambda puede omitir:
    (Lista de parámetros: ) El tipo de la lista de parámetros entre paréntesis se puede omitir
    (lista de parámetros): si solo hay un parámetro entre paréntesis, el tipo y () se pueden omitir
    (algunos códigos) si solo hay una línea, independientemente de si hay un valor de retorno, puede Omitir ({}, return ,;) Nota, omitirlos juntos

Introducción al código (tome la creación de subprocesos como ejemplo)

public class Demo02lambda {
public static void main(String[] args) {
    new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName() + "创建新线程");
        }
    }).start();
    //使用lambda
    new Thread(()-> {
            System.out.println(Thread.currentThread().getName() + "创建1新线程");
        }
   ).start();
    //优化lambda
    //没有参数()不可以省略,只有一行代码,{},;,return可以省
    new Thread(()->System.out.println(Thread.currentThread().getName() + "创建1新线程")
    ).start();
}
}

Supongo que te gusta

Origin blog.csdn.net/tangshuai96/article/details/102787601
Recomendado
Clasificación