Java ラムダ式で既にある関数型インターフェースを使用するサンプル

ラムダ式で既にある関数型インターフェースを使用するサンプルです。

独自の関数型インターフェースを使用するサンプルは以下を参照下さい。
https://itsakura.com/java-lambda

目次

Functionインターフェース

インターフェース:Function<T,R>
メソッド:R apply(T t)

コード

3行目は、java.util.functionパッケージのFunctionインターフェースをimportしています。
8行目は、Functionインターフェースを使用したラムダ式です。
10行目は、applyメソッドで処理を実行しています。

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); //青です
	}
}

 

Consumerインターフェース

インターフェース:Consumer<T>
メソッド:void accept(T t)

コード

3行目は、java.util.functionパッケージのConsumerインターフェースをimportしています。
8行目は、Consumerインターフェースを使用したラムダ式です。
10行目は、acceptメソッドで処理を実行しています。

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です(コンソール)
	}
}

 

Predicateインターフェース

インターフェース:Predicate<T>
メソッド:boolean test(T t)

コード

3行目は、java.util.functionパッケージのPredicateインターフェースをimportしています。
8行目は、Predicateインターフェースを使用したラムダ式です。
10行目は、testメソッドで処理を実行しています。

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
	}
}

 

Supplierインターフェース

インターフェース:Supplier<T>
メソッド:T get( )

コード

3行目は、java.util.functionパッケージのSupplierインターフェースをimportしています。
8行目は、Supplierインターフェースを使用したラムダ式です。
10行目は、getメソッドで処理を実行しています。

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); //青です
	}
}

関連の記事

Java ラムダ式のサンプル
Java 匿名クラスのサンプル
Java 標準アノテーションのサンプル

 はまったらエンジニア特化型Q&Aサイト
【teratail(テラテイル)】で質問しましょう!


△上に戻る