Maison  >  Questions et réponses  >  le corps du texte

En Java8, que signifie le symbole logique et & lorsqu'il est utilisé sur les classes d'interface ?

Récemment, je lisais le code source Java lié aux expressions lambda et j'ai trouvé de nombreuses méthodes d'écriture similaires dans les méthodes statiques de 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));
    }

Parmi eux return (Comparator<T> & Serializable)应该是表示类型强转,但是这里为什么不直接转换成Comparator<T>, mais utiliser la logique et les symboles ?

ringa_leeringa_lee2687 Il y a quelques jours692

répondre à tous(1)je répondrai

  • phpcn_u1582

    phpcn_u15822017-05-17 10:00:41

    Cela signifie une conversion forcée vers Comparator<T>Serializable
    Vous pouvez lire cette explication

    répondre
    0
  • Annulerrépondre