Maison > Java > javaDidacticiel > le corps du texte

Comparaison des méthodes d'utilisation de java.lang.Void et void

黄舟
Libérer: 2017-10-11 09:40:01
original
1688 Les gens l'ont consulté

Cet article présente principalement la comparaison et l'utilisation de java.lang.Void et void. L'éditeur pense que c'est plutôt bien, je vais le partager avec vous ici. Les amis qui en ont besoin peuvent s'y référer.

void n'est pas une fonction, c'est un modificateur d'une méthode. Void signifie que la méthode n'a pas de valeur de retour, ce qui signifie que la méthode exécutera uniquement les instructions de la méthode, mais ne retournera rien.

java.lang.Void est un type. Par exemple, attribuez null à une référence Void.


Void nil = null;
Copier après la connexion

Comme vous pouvez le voir dans le code de la classe Void, le type Void ne peut pas être hérité et instancié.


public final
class Void {
  /**
   * The {@code Class} object representing the pseudo-type corresponding to
   * the keyword {@code void}.
   */
  @SuppressWarnings("unchecked")
  public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void");
  /*
   * The Void class cannot be instantiated.
   */
  private Void() {}
}
Copier après la connexion

Void comme résultat de retour de la fonction signifie que la fonction renvoie null (les autres types ne peuvent pas être renvoyés sauf null).


Void function(int a, int b) {
  //do something
  return null;
 }
Copier après la connexion

Avant l'émergence des génériques, Void était généralement utilisé en réflexion. Par exemple, le code suivant imprime le nom d’une méthode avec un type de retour void.


public class Test {
  public void print(String v) {}
  public static void main(String args[]){
    for(Method method : Test.class.getMethods()) {
      if(method.getReturnType().equals(Void.TYPE)) {
        System.out.println(method.getName());
      }
    }
  }
}
Copier après la connexion

Après l'émergence des génériques, le type Void sera utilisé dans certains scénarios. Par exemple, Future est utilisé pour enregistrer les résultats. La méthode get de Future renverra le résultat (type T).

Mais que se passe-t-il si l'opération ne renvoie pas de valeur ? Dans ce cas, il peut être représenté par Future. Lorsque get est appelé et que le résultat est calculé, null sera renvoyé.
De plus, Void est également utilisé dans les cartes sans valeur, telles que Map. De cette façon, la carte aura la même fonction que Set.

Ainsi, lorsque vous utilisez des génériques, la fonction n'a pas besoin de renvoyer de résultat ou lorsqu'un objet n'a pas besoin de valeur, il peut être représenté par le type java.lang.Void.

Résumé

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal