Skip to main content

Java 8:Lambda Expression Syntax

Lambda Expression Syntax
A lambda expression is composed of three parts.
Argument ListArrow TokenBody
(int x, int y)->x + y
The body can be either a single expression or a statement block. In the expression form, the body is simply evaluated and returned. In the block form, the body is evaluated like a method body and a return statement returns control to the caller of the anonymous method. 

The break and continue keywords are illegal at the top level, but are permitted within loops. If the body produces a result, every control path must return something or throw an exception.

Input arguments, body and return :(input arguments)->body

  •    Left hand side is input arguments
  •    Right hand side is logic.
  •    The Arrow token is the separator between the arguments and logic,


Return Values:

  •  Implicit return; Simple expression does not requires a return
  •  Explicit return: If it is complex code , we need to explicit mention a return.


Examples of Lambda Expression:

  • i->i+i;//simple expression with no types declared. Here the type is inferred.
  • (String s1,String s2)->s1+s2;
  • (String event)->notify(a); calling notify method with input String event.



Comments

Popular posts from this blog

Lambda Expressions: Method References:

Method references are short hand of lambda expression. It is an easy way to delegate a call to an existing method. The method is referenced by using the class name or the object reference with :: separating the method name e.g. We can call System.out.println with a below statement: List < Integer > numbers = Arrays . asList ( 1 , 2 , 3 , 4 , 5 , 6 ); numbers . forEach ( System . out :: println ); package com.corejava.LambdaExpressions.examples; //method references are short hand of lambda expression public class MethodReferences { interface IMovie { Boolean check(Integer id); } private void testMovieStaticMethodRef() { IMovie movie1 = (i) -> i < 100 ; // movie id less than 100 are classic movies IMovie movie2 = MethodReferences:: isClassic ; System. out .println(movie1.check( 100 )); System. out .println(movie2.check( 99 )); } private void testMovieInstanceMethodRef() { IMovie movie1 = ...

RAML 1.0 Mulesoft