Java 関数型インターフェースのサンプル(Supplier)

Javaの関数型インターフェースのSupplierのサンプルです。

目次

説明 Supplierインターフェース
サンプル クラスの場合
  匿名クラスの場合

Supplierインターフェース

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

クラスの場合

クラスのサンプルです。

package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;

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

		GetMessage1 g1 = new GetMessage1();
		
		for (String a:g1.get()) {
			System.out.println(a+"です"); //赤です 黄です 青です
		}
	}
}
 class GetMessage1 implements Supplier<List<String>> {
	@Override
    public  List<String> get() {
		List<String> c1 = new ArrayList<>(Arrays.asList("赤","黄","青"));
		return c1;
    }
}

5行目は、java.util.function.Supplierインターフェースをimportしています。
17行目は、Supplierインターフェースを実装しています。
12行目は、getメソッドです。戻り値はありますが引数はありません。
リストの値分文字列が出力されます。

匿名クラスの場合

匿名クラスのサンプルです。

package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;

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

		List<String> c2 = new Supplier<List<String>>() {
			@Override
		    public  List<String> get( ) {
				List<String> c1 = new ArrayList<>(Arrays.asList("赤","黄","青"));
				return c1;
		    }
		}.get();
		
		for (String a:c2) {
			System.out.println(a+"です"); //赤です 黄です 青です
		}
	}
}

5行目は、java.util.functionパッケージのSupplierインターフェースをimportしています。
10行目は、匿名クラスです。クラス名はありません。
16行目は、getメソッドです。引数ありませんが戻り値はあります。
19行目は、リストの値分文字列が出力されます。

関連の記事

Java ラムダ式のサンプル
Java 関数型インターフェースのサンプル(Consumer)

△上に戻る