Java LanguageLambda Expressions


introduzione

Le espressioni Lambda forniscono un modo chiaro e conciso per implementare un'interfaccia a metodo singolo usando un'espressione. Ti permettono di ridurre la quantità di codice che devi creare e mantenere. Sebbene simili alle classi anonime, non hanno informazioni di tipo da soli. Il tipo di inferenza deve accadere.

I riferimenti al metodo implementano interfacce funzionali usando i metodi esistenti piuttosto che le espressioni. Appartengono anche alla famiglia Lambda.

Sintassi

  • () -> {restituisce espressione; } // Zero-arity con il corpo della funzione per restituire un valore.
  • () -> espressione // Abbreviazione per la dichiarazione di cui sopra; non esiste un punto e virgola per le espressioni.
  • () -> {function-body} // Effetto collaterale nell'espressione lambda per eseguire operazioni.
  • parameterName -> expression // Espressione lambda one-arity. Nelle espressioni lambda con un solo argomento, la parentesi può essere rimossa.
  • (Digitare parameterName, Type secondParameterName, ...) -> expression // lambda che valuta un'espressione con i parametri elencati a sinistra
  • (parameterName, secondParameterName, ...) -> expression // Stenografia che rimuove i tipi di parametri per i nomi dei parametri. Può essere utilizzato solo in contesti che possono essere dedotti dal compilatore in cui le dimensioni dell'elenco dei parametri corrispondono a una (e solo una) della dimensione delle interfacce funzionali previste.

Lambda Expressions Esempi correlati