Java Lambda Functions
February 05, 2019
The basic gist is to generate a interface
with the lambda signature, then explicitly create a function preface by the interface type.
This will allow you to call the lambda function as a instance method.
Example
// src/main/java/Lambda.java
interface Anon {
String helloWorld();
}
interface AnonInt {
int sum(int a, int b);
}
class Lambda {
String hello() {
Anon anon = () -> "Hello, World!";
return anon.helloWorld();
}
int sumOnePlusTwo() {
AnonInt anon = (int a, int b) -> a + b;
return anon.sum(1, 2);
}
}
As for the test file:
// src/tests/java/LambdaTest.java
import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class LambdaTest {
@Test
public void testLambda() {
assertEquals("Hello, World!", new Lambda().hello());
}
@Test
public void testLambdaSum() {
assertEquals(3, new Lambda().sumOnePlusTwo());
}
}
Related Articles
A personal blog on all things of interest. Written by Dennis O'Keeffe, Follow me on Twitter