#はじめに
Javaではあらかじめいくつかの関数型インターフェイスが用意されてますが、皆さんはいくつご存知でしょうか。今回は代表的な関数型インターフェースのSuplierインターフェースについて解説していきます。
#Supplierインターフェイスとは?
英語を勉強したことがある人なら「Supplier」という単語は何度か聞いたことあると思います。
日本語に訳すと「提供者」という意味になります。
名前の通り、Supplerは引数を受け取らずに値を戻す関数型インターフェースです。
get()メソッドを持っています。
関数型インターフェイスとはメソッドを一つしか持たないインタフェースのことを言います。
##いつ使うの?
引数を受け取らずに値を戻す時に使います。
具体的にはインスタンスを生成する時や、引数関係なく値を出力する時に利用します。
##どうやって使うの?
関数型インターフェイスというのはラムダ式でよく利用します。
ラムダ式がまだわからないっていう方は下記の記事を参考にしてください。
https://qiita.com/110shun/items/07f96b571532c18d97c0
下記のサンプルコードはラムダ式を使ってArrayListのインスタンスを生成しています。
import java.util.ArrayList;
import java.util.List;
import java.util.function.Supplier;
public class Main{
public static void main (String[] args) {
//ArrayListのインスタンスを生成して参照を戻すラムダ式を代入する
Supplier<List<String>> supplier = ()->new ArrayList();
//Suplierインターフェイスのgetメソッドを使うとArrayListを生成できる
List<String> list =supplier.get();
list.add("最後まで拝読頂き");
list.add("ありがとうございます");
System.out.println(list);
}
}
結果
[最後まで拝読頂き, ありがとうございます]
#まとめ
Supplerは引数を受け取らずに値を戻す関数型インターフェースです。
get()メソッドを持っています。
##参考文献
・Java 関数型インターフェースのサンプル(Supplier)