zoukankan      html  css  js  c++  java
  • 实现instanceof关键字

    如果用Java的伪代码来表现Java语言规范所描述的运行时语义,会是这样:
    // obj instanceof T
    boolean result;
    if (obj == null) {
      result = false;
    } else {
      try {
          T temp = (T) obj; // checkcast
          result = true;
      } catch (ClassCastException e) {
          result = false;
      }
    }
    用中文说就是:如果有表达式 obj instanceof T ,那么如果 obj 不为 null 并且 (T) obj 不抛 ClassCastException 异常则该表达式值为 true ,否则值为 false 。
    注意这里完全没提到JVM啊Class对象啊啥的,没有展现出如何从代码的角度获得T是一个什么类型。另外要注意 instanceof 运算符除了运行时语义外还有部分编译时限制,详细参考规范。


    详细部分可参见:
    作者:RednaxelaFX
    链接:https://www.zhihu.com/question/21574535/answer/18998914

  • 相关阅读:
    PhoneGap打包webApp
    mysql触发器实例说明
    mysql索引总结
    python:生成器
    python:装饰器
    python:局部变量与全局变量
    python:函数
    python:文件操作
    python:集合及其运算
    python:字符串常用函数
  • 原文地址:https://www.cnblogs.com/Ycheng/p/7168995.html
Copyright © 2011-2022 走看看