zoukankan      html  css  js  c++  java
  • Java之"instanceof"和"isInstance"代码举例

     源码:

     1 /**
     2  * @Date:2018-04-20
     3  * @Description:判断Instance
     4  * - instanceof方法返回一个boolean类型的值,意在告诉我们对象是不是某个特定的类型实例。
     5  * - isInstance方法则是Class类中的一个Native方法,也是用于判断对象类型的。
     6  **/
     7 public class InstanceDemo {
     8 
     9     static void test(Object x) {
    10         System.out.println("Testing x of type " + x.getClass());
    11         System.out.println("x instanceof A " + (x instanceof A));
    12         System.out.println("x instanceof B " + (x instanceof B));
    13         System.out.println("A.isInstance(x) " + A.class.isInstance(x));
    14         System.out.println("B.isInstance(x) " +
    15                 B.class.isInstance(x));
    16         System.out.println("x.getClass() == A.class " +
    17                 (x.getClass() == A.class));
    18         System.out.println("x.getClass() == B.class " +
    19                 (x.getClass() == B.class));
    20         System.out.println("x.getClass().equals(A.class)) " +
    21                 (x.getClass().equals(A.class)));
    22         System.out.println("x.getClass().equals(B.class)) " +
    23                 (x.getClass().equals(B.class)));
    24     }
    25 
    26     public static void main(String[] args) {
    27         test(new A());
    28         System.out.println("-------------------------");
    29         test(new B());
    30     }
    31 
    32 }
    33 
    34 class A {
    35 }
    36 
    37 class B extends A {
    38 }

     运行结果:

     1 Testing x of type class org.study2.reflection.A
     2  x instanceof A true
     3  x instanceof B false
     4  A.isInstance(x) true
     5  B.isInstance(x) false
     6  x.getClass() == A.class true
     7  x.getClass() == B.class false
     8  x.getClass().equals(A.class)) true
     9  x.getClass().equals(B.class)) false
    10  -------------------------
    11  Testing x of type class org.study2.reflection.B
    12  x instanceof A true
    13  x instanceof B true
    14  A.isInstance(x) true
    15  B.isInstance(x) true
    16  x.getClass() == A.class false
    17  x.getClass() == B.class true
    18  x.getClass().equals(A.class)) false
    19  x.getClass().equals(B.class)) true
  • 相关阅读:
    显示数据库中的数据
    C# 替换去除HTML标记方法(正则表达式)
    aspx,ascx和ashx使用总结
    groupby用法
    C#的一个URL加载器,能处理编码、相对地址解析、GET/POST、HTML的include、页面重定向
    js调用WebService的例子
    跨站点的单点登录
    新安装的Centos7不能联网且ifconfig出现command not found
    virtualbox桥接网卡设置
    2012暑假Ajax学习笔记
  • 原文地址:https://www.cnblogs.com/gongxr/p/8889337.html
Copyright © 2011-2022 走看看