Des collectionneurs.groupingBy n'accepte pas les clés null

Dans Java 8, cela fonctionne:

Stream<Class> stream = Stream.of(ArrayList.class);
HashMap<Class, List<Class>> map = (HashMap)stream.collect(Collectors.groupingBy(Class::getSuperclass));

Mais ce n'est pas le cas:

Stream<Class> stream = Stream.of(List.class);
HashMap<Class, List<Class>> map = (HashMap)stream.collect(Collectors.groupingBy(Class::getSuperclass));

Maps permet une clé null, et de la Liste.classe.getSuperclass() renvoie la valeur null. Mais Les Collectionneurs.groupingBy émet un NPE, à Collectors.java ligne 907:

K key = Objects.requireNonNull(classifier.apply(t), "element cannot be mapped to a null key"); 

Il fonctionne si je créer mon propre collector, avec cette ligne changé:

K key = classifier.apply(t);  

Mes questions sont:

1) La Javadoc de Collectionneurs.groupingBy ne veut pas dire qu'il ne devrait pas carte une clé null. Est-ce le comportement nécessaire pour une raison quelconque?

2) Est-il une autre, la plus facile, à accepter une clé null, sans avoir à créer mon propre collector?

InformationsquelleAutor MarcG | 2014-03-25