Interfaces fonctionnelles comme pointeurs de fonction en Java
En Java, où les pointeurs de fonction ne sont pas disponibles, les classes internes anonymes ou les expressions lambda constituent des alternatives appropriées .
Classes intérieures anonymes
Imaginez vous avez besoin de méthodes qui effectuent des actions similaires mais varient légèrement sur une seule ligne de calcul. Pour implémenter cela à l'aide d'une classe interne anonyme :
interface StringFunction { int func(String param); }
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // Operations... }
ref.takingMethod(new StringFunction() { public int func(String param) { // Implementation... } });
Expressions lambda (Java 8)
Syntaxiquement plus simple, vous pouvez utiliser des expressions lambda pour obtenir le même résultat :
ref.takingMethod(param -> { // Implementation... });
En utilisant des classes internes anonymes ou des expressions lambda, vous pouvez créer des pointeurs de fonction en Java, améliorant ainsi le code réutilisabilité et flexibilité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!