Généralement, une déclaration de méthode affiche son type de retour, son chemin complet et ses paramètres. Mais quand je regarde la méthode java.util.stream.Stream.collect
je suis confus.Comprendre la déclaration d'une méthode d'opération de terminal
Il semble que la méthode a deux types de retour:
<List<Integer>, Object> List<Integer> java.util.stream.Stream.collect(Collector<? super Integer, Object, List<Integer>> collector)
Je comprends que le type réel de retourest List<Integer>
, mais qu'est-ce que <List<Integer>, Object>
signifie? Pourquoi est-ce un espace avant List<Integer>
et pourquoi sa clé (si c'est une carte?) Est-elle la même que le type de retour réel?
La première chose n'est pas un type de retour, il spécifie des types pour les paramètres de type génériques R et A. Lire javadoc pourrait aider ici. La méthode renvoie R, le type de retour doit donc être identique au paramètre de type –