ラムダ式で関数型インターフェースを使用するサンプルです。
目次
サンプル | 引数あり+戻り値あり(Functionインターフェース) |
引数あり+戻り値なし(Consumerインターフェース) | |
引数あり+booleanの戻り値あり(Predicateインターフェース) | |
引数なし+戻り値あり(Supplierインターフェース) |
ラムダ式については以下を参照願います。
Java ラムダ式のサンプル
引数あり+戻り値あり(Functionインターフェース)
Function<T,R> |
R apply(T t) |
- FunctionのTはメソッドの引数の型で、Rはメソッドの戻り値の型です。
- applyメソッドは、引数があり、戻り値もあります。
- 以下は、OracleのJava8のFunctionインターフェースのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/function/Function.html
Functionインターフェース+ラムダ式のサンプルです。
package test1;
import java.util.function.Function;
public class Test1 {
public static void main(String[] args) {
Function <Integer,String> c1 = a -> a + "です";
String b = c1.apply(2);
System.out.println(b); //2です
}
}
3行目は、java.util.functionパッケージのFunctionインターフェースをimportしています。
8行目は、Functionインターフェースを使用したラムダ式です。
10行目は、applyメソッドで引数があり戻り値もあります。
引数あり+戻り値なし(Consumerインターフェース)
Consumer<T> |
void accept(T t) |
- ConsumerのTはメソッドの引数の型です。
- acceptメソッドは、引数があり、戻り値はありません。
- 以下は、OracleのJava8のConsumerインターフェースのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/function/Consumer.html
Consumerインターフェース+ラムダ式のサンプルです。
package test1;
import java.util.function.Consumer;
public class Test1 {
public static void main(String[] args) {
Consumer <Integer> c1 = a -> System.out.println(a + "です");
c1.accept(3); //3です
}
}
3行目は、java.util.functionパッケージのConsumerインターフェースをimportしています。
8行目は、Consumerインターフェースを使用したラムダ式です。
10行目は、acceptメソッドで引数があり戻り値はありません。
引数あり+booleanの戻り値あり(Predicateインターフェース)
Predicate<T> |
boolean test(T t) |
- PredicateのTはメソッドの引数の型です。
- testメソッドは、引数があり、戻り値もあります。戻り値はbooleanです。
- 以下は、OracleのJava8のPredicateインターフェースのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/function/Predicate.html
Predicateインターフェース+ラムダ式のサンプルです。
package test1;
import java.util.function.Predicate;
public class Test1 {
public static void main(String[] args) {
Predicate <String> c1 = a -> a.isEmpty();
boolean b = c1.test("3");
System.out.println(b); //false
boolean c = c1.test("");
System.out.println(c); //true
}
}
3行目は、java.util.functionパッケージのPredicateインターフェースをimportしています。
8行目は、Predicateインターフェースを使用したラムダ式です。
10,13行目は、testメソッドで引数があり、戻り値もあります。戻り値はbooleanです。
引数なし+戻り値あり(Supplierインターフェース)
Supplier<T> |
T get() |
- SupplierのTはメソッドの戻り値の型です。
- getメソッドは、引数はなし、戻り値はあります。
- 以下は、OracleのJava8のSupplierインターフェースのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/function/Supplier.html
Supplierインターフェース+ラムダ式のサンプルです。
package test1;
import java.util.function.Supplier;
public class Test1 {
public static void main(String[] args) {
Supplier <String> c1 = () -> "青です";
String b = c1.get();
System.out.println(b); //青です
}
}
3行目は、java.util.functionパッケージのSupplierインターフェースをimportしています。
8行目は、Supplierインターフェースを使用したラムダ式です。
10行目は、getメソッドで引数はなし、戻り値はあります。
関連の記事