Javaで一般的に使用される数値インターフェイス

ラムダ式を学習するとき、ラムダ式を使用するには関数型インターフェースを作成する必要があることを知っています。ラムダ式を使用するたびに、手動でインターフェースを作成する必要があります。非常に面倒ではありませんか? 4つの組み込みコア機能インターフェース。

1.コンシューマー:コンシューマーインターフェイス、void accept(T t)

コンシューマーインターフェイスは、入力パラメーターを受け入れ、戻り値を返さない操作を表します。例は次のとおりです。

public static void main(String[] args) {
    
    
        Consumer<String> consumer = (name)-> System.out.println("我叫"+name);
        consumer.accept("张三");
    }

2.サプライヤー:供給インターフェース、T get()

供給パラメーターはパラメーターを表さず、結果を返します

SimpleDateFormat dateFormat = new SimpleDateFormat("yy-MM-dd hh:mm:ss");
        Supplier supplier = Date::new;
        System.out.println("当前时间是:"+ dateFormat.format(supplier.get()));

演算結果:
ここに画像の説明を挿入

3. Function <T、R>:機能インターフェース、R apply(T t)

1つの入力パラメーターを受け取り、結果を返します

Function<Double,String> function = (num) -> "消费"+num+"元";
        System.out.println(function.apply(32.1));;

4.述語:アサーションインターフェイス、ブールテスト(T t)

パラメータを渡し、このパラメータに従って、ブール型を返します。

 public static void main(String[] args) {
    
    
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
        System.out.println("输出所有偶数");
        eval(list,(n)->n%2 == 0);

    }

    public static void eval(List<Integer> list, Predicate<Integer> predicate) {
    
    
        for(Integer n: list) {
    
    

            if(predicate.test(n)) {
    
    
                System.out.println(n + " ");
            }
        }
    }

5.その他のインターフェース

上記の機能インターフェイスに加えて、Javaには他のいくつかの機能インターフェイスも組み込まれています。一般的に、あなたはそれを理解する必要があるだけであり、あなたは通常それをあまり使用しません。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_45171957/article/details/124231051
おすすめ