您的位置:首頁技術文章
文章詳情頁

java8中,邏輯與 & 符號用在接口類上代表什么意思

瀏覽:107日期: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
国产综合久久一区二区三区