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

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

目次

説明 Supplierインターフェース
サンプル クラスにSupplierインターフェースを実装する
  匿名クラスでSupplierインターフェースを使用する

Supplierインターフェース

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

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

package test1;

import java.util.function.Supplier;

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

		Supplier<String> make1 = () -> "青です";

		String b = make1.get();
		System.out.println(b); // 青です
	}
}

3行目は、java.util.functionパッケージのSupplierインターフェースをimportしています。

8行目は、Supplierインターフェースを使用したラムダ式です。
Supplier<String>の
Stringは、Supplier<T>のTでメソッドの戻り値の型です。

10行目は、getメソッドで引数は無しでStringの値を返します。

 

クラスにSupplierインターフェースを実装する

package test1;

import java.util.function.Supplier;

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

		Make1 make1 = new Make1();
		String str1 = make1.get();
		System.out.println(str1); // red and blue
	}
}
class Make1 implements Supplier<String> {
	@Override
	public String get() {
		return "red and blue";
	}
}

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

 

匿名クラスでSupplierインターフェースを使用する

package test1;

import java.util.function.Supplier;

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

		String str1 = new Supplier<String>() {
			@Override
			public String get() {
				return "red and blue";
			}
		}.get();
		System.out.println(str1); // red and blue
	}
}

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

関連の記事

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

△上に戻る