Java 8 interface fonctionnelle avec aucun argument et ne renvoie pas de valeur
Quelle est la Java 8 interface fonctionnelle pour une méthode qui ne prend rien et ne renvoie rien?
I. e., l'équivalent pour le C# sans paramètre Action
avec void
type de retour?
Vous devez vous connecter pour publier un commentaire.
Si je comprends bien, vous voulez une interface fonctionnelle avec une méthode
void m()
. Dans ce cas, vous pouvez simplement utiliser unExécutable
.java.util.function
paquet et j'ai complètement oublié l'ancienRunnable
Runnable
's spécification de l'interface indique qu'il est de fournir le code de l'exécutable à laThread
classe. Il ne semble pas juste pour moi d'utiliserRunnable
où il n'est pas prévu pour être exécuté par un thread; semble induire en erreur.Runnable
est défini comme unFunctionalInterface
parce qu'il est conforme à la spécification d'une interface fonctionnelle et peut être créé à l'aide de lambda de la syntaxe. Pourquoi ne pas créer votre propre interface fonctionnelle? voir Exécutable sur FunctionalInterface@FunctionalInterface
et (ii) même dans le contexte d'une expression lambda il sera exécuté sur un fil: le fil dans lequel le lambda est d'exécuter ce qui peut être le thread en cours...Runnable
était destiné à être utilisé à cette fin, non seulement pour l'enfilage des contextes.Suffit de faire votre propre
et de l'utiliser comme ceci
et la sortie