Re: [問題] Lambda Functional參數問題
※ 引述《kyleJ (K)》之銘言:
: 這看起來像是使用反射呼叫 User.class.getMethod("getName")
: 然後再呼叫 method.invoke(user)
: 這樣就能跟 Functional 的 U apply(User user) 一樣參數與回傳值了
方法參考(Method Reference),這是編譯器語法蜜糖。
: 想請問
: getName是non-static的method,為什麼可以寫成User::getName?
: User::getName 為何可以指定給 Functional<User, String> func?
: 是不是在這種情況下會自動變成Method的反射?
: 我在Lambda的教學中沒看到這種情況,有什麼文章或關鍵字可以查詢嗎?
: 感謝各位
不是反射,是有對照規則的語法蜜糖,而static 方法參考只是其中一種,
還有實例方法參考、建構式參考等…
https://openhome.cc/Gossip/Java/MethodConstructorReference.html
--
良葛格學習筆記
http://openhome.cc
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.26.106.200
※ 文章網址: https://www.ptt.cc/bbs/java/M.1513133758.A.20D.html
※ 編輯: JustinHere (110.26.106.200), 12/13/2017 10:56:50
推
12/13 20:43,
7年前
, 1F
12/13 20:43, 1F
→
12/13 20:43,
7年前
, 2F
12/13 20:43, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章