Java入门学习笔记-instanceof运算符

196 阅读1分钟

instanceof用法:

A instanceof B

A通常是一个引用类型的变量,B通常是一个类(也可以是接口),它用于判断A是否是与B同类,或者是其子类、实现类的实例。如果是,则返回true,反之false。

public class Test
{
    public static void main(String[] args)
    {
        Object A = "A";
        //返回ture
        System.out.println("字符串是否是Object类的实例:"+(A instanceof Object));
        //String 是 Object 类的子类,所以返回ture
        System.out.println("字符串是否是String类的实例:"+(A instanceof String));
        //Math是Object类的子类,所以可以进行instanceof运算,返回false
        System.out.println("字符串是否是Math类的实例:"+(A instanceof Math));
        //int类既不是Object类,也不是Object的父类,所以下列代码编译无法通过
        //System.out.println("字符串是否是int类的实例:"+(A instanceof int));
    }
}

instance运算符的作用是:确保能够顺利进行强制类型转换

public class Test
{
    public static void main(String[] args)
    {   
        Object A = "A";
        if(A instanceof String)
        {
            String B = (String)A;
            System.out.println("成功转换");
        }
    }
}

在我们使用(type)运算符之前,最好使用instanceof运算符确保程序不会出现错误。