文章詳情頁
java8中,邏輯與 & 符號用在接口類上代表什么意思
瀏覽:76日期:2023-12-16 16:05:46
問題描述
最近在讀lambda表達式相關的java源碼,在Comparator的靜態方法里發現有不少這種類似的寫法
java.util.Comparator... public static <T> Comparator<T> comparingInt(ToIntFunction<? super T> keyExtractor) {Objects.requireNonNull(keyExtractor);return (Comparator<T> & Serializable) (c1, c2) -> Integer.compare(keyExtractor.applyAsInt(c1), keyExtractor.applyAsInt(c2)); }
其中return (Comparator<T> & Serializable)應該是表示類型強轉,但是這里為什么不直接轉換成Comparator<T>,而要用邏輯與符號?
問題解答
回答1:這個表示強轉成Comparator<T>和Serializable可以看下這個解釋
標簽:
java
排行榜
