欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

instanceof关键字

程序员文章站 2023-12-25 22:55:27
...

关键字 instanceof 可以用来测试一个对象是不是指定类型的一个对象。

if (objectReference instanceof type)

public class MainClass 
{
    public static void main(String[] a) 
    {
        String s = "Hello";
        if (s instanceof java.lang.String) 
        {
            System.out.println("is a String");
        }
    }
}

is a String

如果测试一个空引用变量,将会返回false

public class MainClass 
{
    public static void main(String[] a) 
    {
        String s = null;
        if (s instanceof java.lang.String) 
        {
            System.out.println("true");
        }
        else 
        {
            System.out.println("false");
        }
    }
} 

false

由于子类是超类的一个类型,在以下语句中,Child是Parent的子类,所以返回true

class Parent 
{
    public Parent() 
    {}
}

class Child extends Parent 
{
    public Child() 
    {
        super();
    }
}

public class MainClass 
{
    public static void main(String[] a) 
    {
        Child child = new Child();
        if (child instanceof Parent) 
        {
            System.out.println("true");
        }
    }
}

true

以上部分转自 http://www.java2s.com/CN/Tutorial/Java/0060__Operators/TheinstanceofKeyword.htm

instanceof 可用于强制转换前的判断

// 源于java.math.MathContext中的equals()方法
public boolean equals(Object x)
{
        MathContext mc;
        if (!(x instanceof MathContext))
            return false;
        mc = (MathContext) x;
        return mc.precision == this.precision
            && mc.roundingMode == this.roundingMode; // no need for .equals()
}

转载于:https://www.cnblogs.com/submarinex/archive/2011/04/08/2009901.html

上一篇:

下一篇: