Skip to main content

Lambda Parameter

Pada tutorial sebelumnya kita sudah membuat Lambda pertama, pada tutorial kali ini kita akan membuat Lambda dengan parameter method String action(String message).

Function Interface​

Membuat Function Interface dengan parameter method String action(String message):

@FunctionalInterface
interface SimpleActionParameter {

String action(String message);

}

Menggunakan Lambda​

Interface functional di atas dapat digunakan menggunakan lambda seperti di bawah ini:

// menggunakan Lambda dengan menuliskan type parameter
SimpleActionParameter actionParameter1 = (String message) -> {
return "Message 1: " + message;
};

Penulisan ekspresi lambda di atas dapat di variasikan seperti contoh di bawah ini:

@FunctionalInterface
interface SimpleActionParameter {

String action(String message);

}

public class DemoLambdaParameter {
public static void main(String[] args) {

// menggunakan Lambda dengan menuliskan type parameter
SimpleActionParameter actionParameter1 = (String message) -> {
return "Message 1: " + message;
};

System.out.println(actionParameter1.action("Salam dari lambda parameter 1"));

// menggunakan Lambda tanpa menuliskan type parameter
SimpleActionParameter actionParameter2 = (message) -> {
return "Message 2: " + message;
};

System.out.println(actionParameter2.action("Salam dari lambda parameter 2"));

// Lambda tanpa blok: jika block dalam 1 line
SimpleActionParameter actionParameter3 = (String message) -> "Message 3: " + message;
SimpleActionParameter actionParameter4 = (message) -> "Message 4: " + message;
SimpleActionParameter actionParameter5 = message -> "Message 5: " + message;

System.out.println(actionParameter3.action("Salam dari lambda parameter 3"));
System.out.println(actionParameter4.action("Salam dari lambda parameter 4"));
System.out.println(actionParameter5.action("Salam dari lambda parameter 5"));
}
}

Contoh Lain:

@FunctionalInterface
interface Kotak {
int hitung(int x);
}

public class DemoLambda {
public static void main(String[] args) {
int nilai = 10;

// membuat lambda expression sesuai dengan yang difeinisikan pada method hitung
Kotak kotak = (int x) -> x * x;

var hitung = kotak.hitung(nilai);
System.out.println(hitung);
}
}