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

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

目次

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

Consumerインターフェース

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

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

package test1;

import java.util.function.Consumer;

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

		Consumer<Integer> make1 = a -> System.out.println(a + "です");

		make1.accept(3); // 3です
	}
}

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

8行目は、Consumerインターフェースを使用したラムダ式です。
Consumer<Integer>の
Integerは、Consumer<T>のTでメソッドの引数の型です。

10行目は、acceptメソッドでIntegerの引数があり戻り値はありません。

 

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

package test1;

import java.util.function.Consumer;

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

		String str1 = "red and blue";
		Make1 make1 = new Make1();
		make1.accept(str1); // red and blueです
	}
}
class Make1 implements Consumer<String> {
	@Override
	public void accept(String c1) {
		System.out.println(c1 + "です");
	}
}

3行目は、java.util.functionパッケージのConsumerインターフェースをimportしています。
13行目は、Consumerインターフェースを実装しています。
10行目は、acceptメソッドです。引数を渡しますが戻り値はありません。文字列を出力します。

 

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

package test1;

import java.util.function.Consumer;

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

		String str1 = "red and blue";

		new Consumer<String>() {
			@Override
			public void accept(String c1) {
				System.out.println(c1 + "です");
			}
		}.accept(str1); // red and blueです
	}
}

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

関連の記事

Java ラムダ式のサンプル

△上に戻る