JavaSE基础篇:instanceof关键字

简介: JavaSE基础篇:instanceof关键字

instanceof关键字介绍

instanceof关键字在java当中严格意义上来讲是一个双目运算符,用来测试一个对象是不是另一个类(接口)的实例,或者直接或者间接子类或者实现类。

对象 /null instanceof interface/类/抽象类

boolean result = obj instanceof Class
if(obj instanceof Object){}

Object必须是引用类型

obj必须是引用类型不能是基本类型

@Test
    public void test02(){
        System.out.println(4 instanceof Object);
    }
    //错误写法

instanceof 运算符只能作为对象的判断

当引用类型是枚举类型的时候。
    public static void getShowAllInstance(){
        for (ProjectEnums value : ProjectEnums.values()) {
            if(value instanceof ProjectEnums){
                System.out.println(value.getProjectName());
            }
//            施工项目
//            建设项目
//            图纸项目
//            输送项目
        }
    }
@Test
    public void Test03(){
        System.out.println("-----------------------");
        System.out.println(String.class instanceof Class);
        System.out.println(Class.class instanceof Class);
        boolean result = Class.class instanceof Object;
        System.out.println(result);
    }

obj 为null

java分两种数据类型,一种是基本数据类型,一共八中,另一种是引用类型,包括类、接口、数组、枚举和特殊的null类型,null类型没有名字,null引用时null类型的唯一可能的值,null引用可以转换成任意引用类型,null可以使任意引用类型的特殊符号。

javase当中对于instanceof规范的规定是如果obj是null,返回FALSE

@Test
    public void Test04(){
        System.out.println(null instanceof Class);//false
        System.out.println(null instanceof Object);//false
        System.out.println(null instanceof String);//false
    }

obj 为类的实例对象

没啥可说的TRUE

obj 为接口实现类的实例

是实现类是TRUE,不是FALSE

相关文章
【零基础学Java】—throw关键字(四十六)
【零基础学Java】—throw关键字(四十六)
|
Java 编译器
【Java用法】Java关键字 —— instanceof
【Java用法】Java关键字 —— instanceof
98 0
|
Java 编译器
【JavaSE专栏66】使用instanceof关键字,验证显隐式类型转换
【JavaSE专栏66】使用instanceof关键字,验证显隐式类型转换
|
8月前
|
Java
两千字讲明白java中instanceof关键字的使用!
两千字讲明白java中instanceof关键字的使用!
50 0
|
Java
关键字instanceof
关键字instanceof
45 0
|
Java 编译器
【JavaSE专栏69】throw、throws关键字,实现优雅的抛出异常
【JavaSE专栏69】throw、throws关键字,实现优雅的抛出异常
156 0
|
安全 Java
|
Java
JAVA:static关键字 和 static 关键字误区
static关键字 与 static 关键字误区的介绍
113 0
JAVA:static关键字 和 static 关键字误区