Thursday, February 08, 2018

Java 8 : Functions

Functional programming in Java, a useful feature was introduced with Java 8 (java.util.function package).

With that, we have the ability to define a function, pass functions to a method as arguments or use already defined methods as functions.

I'll use a simple example to explain a function.


Function  myFunction = n -> n * n
 
I have defined a function here, named as "myFunction". It takes an argument of type Integer and returns an Integer (the square of the number passed in).

We can pass this function to other methods as an argument. The method below takes in a function and an integer, then calls function's apply method with the passed in integer. That applies function to the integer.

public int myMethod(Function func, Integer number) {
    return func.apply(number)
}
 
If we call above method with number 5 like below, we'll get 25 in return.
 
int answer = myMethod(myFunction, 5);

Also we are able to use already defined methods as functions. As an example, if we have following method implemented in myClass,


public class MyClass {
  public Integer calculateSquare(Integer number) {
    return number * number;
  }
}
 
then we can define a function like this that will act similar to myFunction.

Function func = MyClass::calculateSquare;
  
You can find all sorts of functions that you can define in this link. I only used one kind (Function : Represents a function that accepts one argument and produces a result) in the example.

12 comments:

Blogger said...

Did you know there is a 12 word sentence you can tell your man... that will induce deep emotions of love and impulsive attraction for you buried inside his heart?

Because deep inside these 12 words is a "secret signal" that triggers a man's impulse to love, idolize and look after you with all his heart...

=====> 12 Words Who Trigger A Man's Desire Impulse

This impulse is so built-in to a man's genetics that it will drive him to try harder than ever before to build your relationship stronger.

As a matter of fact, triggering this powerful impulse is absolutely important to achieving the best possible relationship with your man that the second you send your man a "Secret Signal"...

...You'll immediately find him open his soul and mind for you in such a way he haven't expressed before and he'll perceive you as the one and only woman in the galaxy who has ever truly tempted him.

Anonymous said...

The blog is very useful and informative thanks for sharing Ethical Hacking Training

Elegant IT Services said...

Nice Post...Thanks for sharing the Blog...
Best IT and Non-IT Course Training Institute in Bangalore

i Digital Academy said...

Very nice information. I would like to appreciate you. Keep it up...
Digital Marketing in Bangalore

Sonu said...

thanks for valuable information.

fivetech said...

OPPO Find X3 Series
Find X2 Pro 5G
Find X2 5G

Valentin said...

Korzystne bonusy, licencjonowane oprogramowanie, uczciwe wypłaty, prawdziwe wygrane top10casinoexpert.pl

Digital Blogger said...

The website loading speed is amazing. It sort of feels that you’re doing any distinctive trick. Moreover, The contents are masterwork. you have performed a excellent activity in this matter!
Also Read - bootstrap navbar close on click, input type file css

Hdhdhdhr said...

Ajkeritnews24.xyz | Tech News Bangla - বাংলা ভাষার নিয়মিত একটি টেক ব্লগ |

Ajker IT News 24

Hdhdhdhr said...

Good Health Good Mind Good Life goodhealth247.

GOODHEALTH247

jenny said...


Really informative and inoperative, Thanks for the post and effort! Please keep sharing more such blog if want
more information about topic Visit Us our Website at movies flame .

Bharathi said...

Hi.
The website's loading speed is truly impressive, giving the impression that there might be some unique optimizations at play. Furthermore, the content itself is of exceptional quality, demonstrating a masterful work. Here is sharing some Oracle CPQ BML Training information may be its helpful to you.

Oracle CPQ BML Training

Related Posts with Thumbnails