ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java中isinstance和instanceof的区别

2022-04-23 10:04:26  阅读:175  来源: 互联网

标签:instanceof Java object System println isinstance class out


## 1. intanceof
---
```java
// 使用方法
if(a instanceof B);
// 表示object a是不是class B这种类型

2. isinstance


if(B.Class.isInstance(a));

// object a能否强制转换为class B这种类型

3.代码检验


// Java文件1
interface A{};

// Java文件2
class B{};

// Java文件3
public static void main(String[] args){
        class C implements A{};

        class D extends B{};
        C demo = new C();
        D demo2 = new D();
    
        // object instanceof class
        System.out.println(demo instanceof C); // true
        System.out.println("=======================");
    
        // object instanceof class of interface or parent class
        System.out.println(demo instanceof A); // true
        System.out.println(demo2 instanceof D); // true
        System.out.println(demo2 instanceof B); // true
        System.out.println("=======================");
    
        // object instance of class Object
        System.out.println(demo instanceof Object); // true
        System.out.println(demo2 instanceof Object); // true
        System.out.println("=======================");
    
        // object is null--> all false
        System.out.println(null instanceof Object); // false
        System.out.println("===========================");
    
        // class.isInstance(object)
        System.out.println(C.class.isInstance(demo)); // true
        System.out.println("===============================");
        
        // can object transfer to interface or parent class
        System.out.println(A.class.isInstance(demo)); // true
        System.out.println(B.class.isInstance(demo2)); // true
        System.out.println("========================");
    
        // can all object transfer to Object
        System.out.println(Object.class.isInstance(demo)); // true
        System.out.println(Object.class.isInstance(demo2)); // ture
        System.out.println("============================");

        // null object --> false
        System.out.println(Object.class.isInstance(null)); // false
    }

标签:instanceof,Java,object,System,println,isinstance,class,out
来源: https://www.cnblogs.com/myqx/p/16181513.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有