[Java]Lambda 02-関数インタフェース


関数インタフェース



🎲 Runnable


パラメータと戻りは不要
Runnable r1 = ()->{
    System.out.println("Runnable의 run() : para(x), ret(x)");
}

🎲 Supplier


戻るだけ
Supplier<String> s = ()->{
    String ret = "Supplier의 get() : para(x), ret(o)";
    System.out.println(ret);
    return ret;
}

🎲 Consumer


パラメータのみ
Consumer<String> c = (s)->{
    System.out.println("Consumer의 accept(T t) : para(o), ret(x)");
}

🎲 Function


パラメータとreturnが必要です
Function<Integer,String> f = (i)->{
    String ret  = "Function의 apply(T t) : para(o), ret(o)");
    System.out.println(ret);
    return ret;
}

🎲 Predicate


パラメータとreturnが必要で、return値はbooleanに固定されています.
Predicate<Integer> p = (i)->{
    System.out.println("Predicate의 test(T t)"+" : para(t), ret(boolean)");
    return true;
}

🎲 UnaryOperator


parameterとreturnが必要です.同じデータ型です.
UnaryOperator<String> u = (s)->{
    System.out.println("UnaryOperator의 test(T t)"+" : para(t), ret(t)");
    return s+".class;
}