「Java」匿名クラスでConsumerインターフェースを使用する
環境
JavaSE1.8
Eclipse 2019
書式
匿名クラスの定義
new Consumer<String>() { @Override public void accept(String str) { 処理コード } }.accept(変数名);
「java.util.function.Consumer」を利用してjava.util.functionパッケージのConsumerインターフェースを利用します。
@FunctionalInterface
public interface Consumer<T>
単一の入力引数を受け取って結果を返さないオペレーションを表します。Consumerは他のほとんどの関数型インタフェースと異なり、副作用を介して動作することを期待されます。
これは、accept(Object)を関数メソッドに持つ関数型インタフェースです。
使用例
package com.arkgame.study; import java.util.function.Consumer; public class ConsumerDemo { static String cft = "東京tokyo"; public static void main(String[] args) { //匿名クラス new Consumer<String>() { @Override public void accept(String str) { System.out.println("匿名クラスでConsumerを使用する結果: " + str); } }.accept(cft); //acceptメソッド 引数渡す 文字列を出力 } }
実行結果
匿名クラスでConsumerを使用する結果: 東京tokyo