「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

Java

Posted by arkgame