Comment déclarer Exigible pour exécuter la fonction de retour nul en Java?
Supposons que je voudrais courir méthode statique foo
de manière asynchrone
void foo() throws Exception {...}
Depuis foo
déclenche une exception, je préfère créer un Callable
et invoquer ExecutorService.submit
avec elle pour obtenir un Future
.
Maintenant je me demande comment déclarer ces Callable
et Future
correctement.
Dois-je les déclarer
Callable<Void> and Future<Void>?
Oui.Callable<Void>. Mais le vide n'est pas compatible avec le Vide, de sorte que vous devez appeler votre foo() à partir d'un wrapper méthode retournant Void.
Pourquoi ne pas Callble<T> et l'Avenir<T>?
pourquoi ne pas Appelable<? étendre T> et l'Avenir<? s'étend T>?
Je ne sais pas, c'est pourquoi j'ai demandé pourquoi
J'ai raté la capitale V.
Pourquoi ne pas Callble<T> et l'Avenir<T>?
pourquoi ne pas Appelable<? étendre T> et l'Avenir<? s'étend T>?
Je ne sais pas, c'est pourquoi j'ai demandé pourquoi
J'ai raté la capitale V.
OriginalL'auteur Michael | 2013-08-29
Vous devez vous connecter pour publier un commentaire.
Oui.
Void
est similaire pour les classes wrapperInteger
,Long
etc. pour les types primitifsint
,long
etc. Vous pourriez dire que c'est une classe wrapper pourvoid
, même sivoid
n'est pas vraiment un type de.OriginalL'auteur Jesper
Je pense que vous devez les déclarer
Callable<?>
etFuture<?>
. Ensuite, vous pouvez mettre en œuvre toute façon que vous voulez, y comprisCallable<Void>
etFuture<Void>
.OriginalL'auteur emory