« Salut, Amigo ! J'ai un autre petit sujet intéressant pour toi. Le type Vide.

"Et pourquoi auriez-vous besoin d'un tel type ? Je veux dire, je comprends void : c'est pour aligner les fonctions et les procédures. Nous n'avons pas de procédures, mais nous avons des fonctions qui renvoient void (rien)."

"Oui, mais tu te souviens qu'Ellie t'a récemment parlé de l'interface Callable ?"

"Oui."

"Et vous souvenez-vous également de ce que vous devez passer comme argument de type?"

"Oui, le type de la valeur de retour :"

Exemple de tâche qui ne fait rien :
class EmptyJob implements Callable
{
 public String call() throws Exception
 {
  return null;
 }
}

"D'accord. Et si vous voulez que la méthode d'appel renvoie un entier ? Et alors ?"

"Maintenant, je sais qu'il y a un autoboxing pour ça. Je passerais juste un Integer, et tout ira comme sur des roulettes :"

Exemple de tâche qui ne fait rien :
class EmptyJob implements Callable
{
 public Integer call() throws Exception
 {
  return null;
 }
}

« Excellent. Et si la méthode ne renvoyait rien ? »

"Je comprends ce que tu veux dire. Alors nous utilisons Vide comme contrepartie de Vide ?"

"Ouais."

"Ne serait-il pas plus simple de faire de la valeur de retour un objet, puis de renvoyer null?"

"Parfois, mais pas toujours."

"Vous savez que vous vouliez vraiment renvoyer void ici lorsque vous avez écrit Object, mais un autre programmeur ne le sait peut-être pas et se demandera pourquoi vous renvoyez null."

"Ou le code appelant la méthode attendra une valeur de retour."

"Mais lorsque vous écrivez Void, tout le monde comprend immédiatement qu'il s'agit d'un wrapper pour void, même si vous devez toujours renvoyer null."

Exemple de tâche qui ne fait rien :
class EmptyJob implements Callable
{
 public Void call() throws Exception
 {
  return null;
 }
}

"Hmm. Vous avez raison. Une méthode qui renvoie toujours null soulève des questions. Mais la méthode déclarée comme Void peut le faire sans nécessiter d'autres explications."

"La lisibilité du code passe avant tout. J'aime Java !"

"Génial. Je suis content que ça te plaise. Nous avons fini pour aujourd'hui."