Lambda Hello World
I was recently checking Lambda expressions out to ensure the forthcoming JCache spec would work well with them. I just wanted a really simple example that worked through the different syntactical forms and ended up putting a Hello World type example myself.
/**
* Hello world!
*/
public class App {
static void print(Something something) {
System.out.println(something.doSomeThing("Hello World"));
}
@FunctionalInterface
interface Something {
String doSomeThing(String word);
}
public static void main(String[] args) {
print(new Something() {
@Override
public String doSomeThing(String word) {
return word.concat(" - it is no fun to AnonymousInnerClass");
}
});
//expression form. No return
print((String s) -> s.concat(" = it is fun to Lambda"));
//block. Need return as interface method has return.
print((String s) -> {return s.concat(" = it is fun to Lambda");});
//expression. No type required as Interface defines it.
print((s) -> s.concat(" = it is fun to Lambda"));
//creating a concrete instance of a functional interface via assignment
Something something = (s) -> s.replace("the", "thee");
System.out.println(something.doSomeThing("What the!"));
java.util.function.Predicate predicate = new
}
}