[問題] lambda + Runnable

看板java作者 (新兵)時間5年前 (2018/12/31 02:25), 5年前編輯推噓0(006)
留言6則, 3人參與, 6年前最新討論串1/3 (看更多)
最近在寫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"); } 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 108.5.129.170 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1546194324.A.4CC.html ※ 編輯: peter98 (108.5.129.170), 12/31/2018 02:25:55

01/02 10:28, 6年前 , 1F
Thread符合 void ()這個method的參數和回傳值的Functional
01/02 10:28, 1F

01/02 10:29, 6年前 , 2F
Interface的就只有Runnable,如果有別的可能而compiler無法
01/02 10:29, 2F

01/02 10:29, 6年前 , 3F
判斷就會報錯了
01/02 10:29, 3F

01/05 15:26, 6年前 , 4F
有一個名詞叫functional interface 可以去查看看
01/05 15:26, 4F

01/05 15:32, 6年前 , 5F
還有default function 這是我在官方文件查到的
01/05 15:32, 5F

01/13 16:21, 6年前 , 6F
compiler幫你做inference阿
01/13 16:21, 6F
文章代碼(AID): #1SAGsKJC (java)
討論串 (同標題文章)
文章代碼(AID): #1SAGsKJC (java)