Kürzlich habe ich den Java-Quellcode im Zusammenhang mit Lambda-Ausdrücken gelesen und in den statischen Methoden von Comparator viele ähnliche Schreibmethoden gefunden
java.util.Comparator ... public static Comparator comparingInt(ToIntFunction super T> keyExtractor) { Objects.requireNonNull(keyExtractor); return (Comparator & Serializable) (c1, c2) -> Integer.compare(keyExtractor.applyAsInt(c1), keyExtractor.applyAsInt(c2)); }
Unter ihnenreturn (Comparator
应该是表示类型强转,但是这里为什么不直接转换成Comparator
, aber Logik und Symbole verwenden?
这个表示强转成
Comparator
和Serializable
可以看下这个解释