Vivek Kumar
Vivek Kumar

Reputation: 469

What does ()->{} represent in java?

What does ()->{} represent in java?. Any help would be highly appreciated.

Upvotes: 1

Views: 1038

Answers (2)

kavetiraviteja
kavetiraviteja

Reputation: 2208

Let's consider old way of writing functions(i.e methods) in java.

//lets assume this is inside calculate class
public int sum(int a, int b){
     return a+b;
}

in java 8 we have something called lambda's in which we have concept called passing behaviours(methods) to another behaviour(methods).

in those case we use syntax like (a,b) -> return a+b;

BiFunction<Integer,Integer,Integer> sum= (a,b)->{
            return a+b;
        };

System.out.println(sum.apply(1, 2));

Even we can store Function in a variable and pass to another function. you can see here

now lets see about syntax (a,b) ->{ return a + b}; (a,b) are arguments to function;

and the line of code inside {} represent the behaviour. -> is to separate both left and right expressions.

you can explore more about java8 and lambda over here

Upvotes: 0

takteek
takteek

Reputation: 7110

It's a lambda expression, basically a concise way of writing a function. ()->{} is a function that takes no arguments and does nothing. A longer way of writing the same thing:

new Runnable() {
    @Override
    public void run() {
        // nothing
    }
};

Upvotes: 4

Related Questions