問個問題。
//3.靜態方法引用 Collections.sort(userList,User::compareByAge); System.out.println(userList);
可以看到Collections.sort()第二個參數接收的是一個Comparator類型的對象。
這里為什么可以傳入 User::compareByAge ?
User又沒有實現Comparator接口,程序如何能確定我們再User里定義的compareByAge是Comparator接口的排序方法實現 ?
2020-04-18
傳入參數會自動進行類型檢查,對傳入輸入進行對應方法調用,如果調用了對應的方法但是參數、返回值等出現不一致情況會檢查出錯吖;你想想如果我們自己設計類似的流程,是不是也會這樣去考慮呢