[JAVA] Punkt 44: Bevorzugen Sie die Verwendung von Standardfunktionsschnittstellen
44. Verwenden Sie die Standardfunktionsschnittstelle
- Durch die Verwendung der Standardmethoden können Sie die Benutzerfreundlichkeit erhöhen und von den verschiedenen bereits integrierten Methoden profitieren.
- In java.util.function sind 43 Funktionsschnittstellen enthalten.
- Der Kern ist
`UnaryOperator <T>`
, `` BinaryOperator <T>
,
Prädikat <T>
,
Funktion <T>
,
` Sechs von "Verbraucher ", "Lieferant ". (6)
- Jede der oben genannten sechs hat eine funktionale Schnittstelle für die Behandlung primitiver Typen von
`int```,`
long und `` `double
. (18)
- Es gibt 6 SrcToResultFunctions (wie `` `LongToIntFunction```) für Funktionen. Es gibt drei SrcToObjFunctions (z. B. "DoubleToObjFunction"). (9)
- Es gibt neun, die zwei Argumente annehmen. (9)
- Es gibt etwas namens BooleanSupplier. (1)
- Verwenden Sie keine Objekte mit primitiven Box-Typen in einer Funktionsschnittstelle, die keine primitiven Typen unterstützt. Die Leistung verschlechtert sich.
- In den folgenden Fällen müssen Sie selbst eine Funktionsschnittstelle schreiben.
- Wenn Sie etwas benötigen, das nicht standardmäßig bereitgestellt wird, z. B. eine Funktionsschnittstelle mit drei Argumenten.
- Wenn es Funktionen gibt, wie z. B. häufig verwendet zu werden und von der Beschreibung zu profitieren, einen stark relevanten Vertrag zu haben (** Ich weiß nicht **) und von der Standardmethode zu profitieren. (
`Komparator <T>`
wird als Beispiel angegeben)
- Fügen Sie beim Schreiben einer Funktionsschnittstelle unbedingt @FunctionalInterface hinzu. Wenn Sie dies haben, wird es einen Kompilierungsfehler verursachen, wenn Sie es falsch schreiben.
- Methoden, die eine funktionale Schnittstelle als Argument verwenden, sollten nicht überschrieben werden. (Punkt 52)