Reputation: 469
What does ()->{} represent in java?. Any help would be highly appreciated.
Upvotes: 1
Views: 1038
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
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