作者JustinHere (良葛格)
看板java
標題Re: [問題] Lambda Functional參數問題
時間Wed Dec 13 10:55:54 2017
※ 引述《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
推 kyleJ: 感謝良葛格回應 我這陣子都在注意網站上ECMAScript教學的 12/13 20:43
→ kyleJ: 更新XD 12/13 20:43