12
votes

Sur le type de retour nul

Si on a besoin de retourner un void type, lequel javadoc décrit comme

une classe qui est une classe d'espace réservée instantanable pour tenir un Référence à l'objet de la classe représentant le mot-clé Java Void.

Pourquoi ce qui suit nécessite-t-il toujours null pour être retourné? xxx


2 commentaires

Parce que void n'est pas un mot clé, mais un objet .


Duplication possible Stackoverflow.com/Questtions/676663/...


4 Réponses :


19
votes

vide est une classe comme n'importe quel autre, donc une fonction renvoie void doit renvoyer une référence (telle que null ). En fait, void est final et insensanitaire, ce qui signifie que null est la seule chose qu'une fonction renvoie vide pourrait revenir.

Bien sûr Public Void Blah () {...} (avec un v ) ne doit rien renvoyer.

Si vous vous demandez des utilisations possibles pour void , voir utilise le type de référence Java Void?


1 commentaires

"Bien sûr Void Public Blah () {...} (avec une minuscule v) ne doit rien renvoyer." en effet, doit pas.



3
votes

void est l'objet "wrapper" pour le type annulation . Un type de retour de void ne renvoie pas de valeur de retour mais void fait. Vous ne pouvez pas utiliser void ou tout type primitif dans un générique.


0 commentaires

1
votes

Comme le Doc affirme qu'il s'agit d'une classe de placement , vous ne pouvez donc pas obtenir une instance, mais vous devez retourner quelque chose depuis void! = vide . void est réellement un classe et donc traité comme n'importe quel autre type / type nécessitant une instance ou NULL pour être retourné.


0 commentaires

3
votes

Le mot clé correct en java est void , pas vide (remarquez l'utilisation de minuscules au début). Void (majuscule) est, selon le documentation :

La classe Void est une classe d'espace réservé insensantatif pour contenir une référence à l'objet de la classe représentant le mot-clé Java vide.


0 commentaires