2017-11-30 4 views
2

Formale Parametertyp ist in Java erlaubt und es in der Regel, wenn es verwendet wird, sind Parameter mit generischen Typen AFAIK.Warum gibt es in der statischen Methode Stream.empty() einen formalen Parametertyp, obwohl es in der Methode keinen Parameter gibt?

Allerdings gibt es tatsächlich einige Methoden ohne Parameter aber Formalparameter Typ sowieso. Zum Beispiel

<T> Stream<T> java.util.stream.Stream.empty()

Jeder kann auf das erklären?

+1

es ist nicht anders als 'Collections.emptyMap()' zum Beispiel – Eugene

+3

„es in der Regel wird verwendet, wenn es Parameter mit generischen Typen“. Natürlich werden sie auch verwendet, wenn es einen generischen Rückgabetyp gibt. – Holger

Antwort

1

Das Argument generischer Typ ist erforderlich, um den Elementtyp des zurückgegebenen leeren Stream anzugeben. Andernfalls würde diese Methode einen rohen Stream Typ zurückgeben.

Zum Beispiel:

Stream<String> stream = Stream.empty(); 
Verwandte Themen