Maison  >  Article  >  Java  >  De cette façon, le mot-clé instanceof peut être implémenté

De cette façon, le mot-clé instanceof peut être implémenté

巴扎黑
巴扎黑original
2017-07-18 18:28:041326parcourir
Si vous utilisez le pseudocode Java pour exprimer la sémantique d'exécution décrite dans la spécification du langage Java, ce sera comme ceci :
// obj instanceof Tboolean result;if (obj == null) {
  result = false;
} else {  try {
      T temp = (T) obj; // checkcast  result = true;
  } catch (ClassCastException e) {
      result = false;
  }
}

Utiliser Le dicton chinois est le suivant : s'il existe une expression obj instanceof T, alors si obj n'est pas nul et (T) obj ne lève pas d'exception ClassCastException, la valeur de l'expression est vraie, sinon la valeur est fausse.
Notez qu'il n'y a aucune mention des objets JVM ou Class, et cela ne montre pas comment obtenir le type de T du point de vue du code. Notez également que l'opérateur instanceof a certaines restrictions de compilation en plus de la sémantique d'exécution. Veuillez vous référer à la spécification pour plus de détails.


instanceof est un opérateur binaire en Java, qui est du même type que ==, >, <. Puisqu’il est composé de lettres, c’est aussi un mot-clé réservé en Java. Sa fonction est de tester si l'objet à sa gauche est une instance de la classe à sa droite et de renvoyer des données de type booléen

L'opérateur instanceof
en java est utilisé pour indiquer si l'objet est une classe spécifique au moment de l'exécution. instanceof renvoie une valeur booléenne indiquant si l'objet est une instance de cette classe spécifique ou une sous-classe de celle-ci.

Utilisation :
résultat = instance d'objet de classe
Paramètres :
Résultat : type booléen.

Objet : obligatoire. Toute expression d’objet.
Cours : obligatoire. Toute classe d'objet définie.
Description :
Si l'objet est une instance de la classe
, l'opérateur instanceof renvoie true. Renvoie false si l'objet n'est pas une instance de la classe spécifiée ou si l'objet est nul.

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!

Déclaration:
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