Was bedeutet in Java8 das logische Und-Symbol, wenn es für Schnittstellenklassen verwendet wird?
ringa_lee
ringa_lee 2017-05-17 09:58:41
0
1
755

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 <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));
    }

Unter ihnen return (Comparator<T> & Serializable)应该是表示类型强转,但是这里为什么不直接转换成Comparator<T>, aber Logik und Symbole verwenden?

ringa_lee
ringa_lee

ringa_lee

Antworte allen(1)
phpcn_u1582

这个表示强转成Comparator<T>Serializable
可以看下这个解释

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage