[問題] lambda + Runnable

作者: peter98 (新兵)   2018-12-31 02:25:22
最近在寫java lambda expression
對於thread runnable跟lambda搭配的用法覺得有個問題
new Thread(
() -> {
System.out.println("My Runnable");
}
).start();
像上面這個寫法
為什麼compiler有辦法知道這個expression最終要換成
new Runnable() {
@Override
public void run() {
System.out.println("My Runnable");
}
謝謝
作者: ssccg (23)   2017-01-02 10:28:00
Thread符合 void ()這個method的參數和回傳值的FunctionalInterface的就只有Runnable,如果有別的可能而compiler無法判斷就會報錯了
作者: y3k (激流を制するは静水)   2017-01-05 15:26:00
有一個名詞叫functional interface 可以去查看看還有default function 這是我在官方文件查到的
作者: ntuarthur (ntuarthur)   2017-01-13 16:21:00
compiler幫你做inference阿

Links booklink

Contact Us: admin [ a t ] ucptt.com