Skip to main content

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 expressionpublic 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 = (id) -> id < 200 && id > 100;
        MethodReferences methodReferences = new MethodReferences();
        IMovie movie2 = methodReferences::isComedy;
        System.out.println(movie1.check(101));
        System.out.println(movie2.check(201));
    }

    public static void main(String[] args) {
        MethodReferences methodReferences = new MethodReferences();
        methodReferences.testMovieStaticMethodRef();
        methodReferences.testMovieInstanceMethodRef();
    }

    private boolean isComedy(Integer id) {
        return id < 200 && id > 100;
    }

    public static Boolean isClassic(Integer id) {
        return id < 100;
    }
}

Comments

Popular posts from this blog

Java 8:Lambda Expression Syntax

Lambda Expression Syntax A lambda expression is composed of three parts. Argument List Arrow Token Body (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 cod...

RAML?

RAML is an open source specification for DESCRIBING APIs  • RAML is surrounded by an open source community with over 100 projects in 12 programming languages • RAML is backed by a working group consisting members from MuleSoft, Akana, Cisco, Intuit, Airware, VMware, ProgrammableWeb, and Angular.js • RAML is used commercially by thousands of companies including Spotify, Cisco, VMware, PBS, Sonic, and more what can you do with RAML? You can define your API in just a few lines of code •  You can see what it would look like as you go •  You can quickly prototype it for devs to try  • You can quickly make tweaks/ changes  • You can easily document your API  • You can let developers try your API online  • You can let developers interact with your and other APIs  • Generate SDKs/ client libraries for your API