天天看点

深入Java关键字instanceof

instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例。

instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。

  举个例子:   public interface IObject {

}

public class Foo implements IObject{

}

public class Test extends Foo{

}

public class MultiStateTest {

         public static void main(String args[]){

                test();

        }

         public static void test(){

                IObject f= new Test();

                 if(f instanceof java.lang.Object)System.out.println( "true");

                 if(f instanceof Foo)System.out.println( "true");

                 if(f instanceof Test)System.out.println( "true");

                 if(f instanceof IObject)System.out.println( "true");

        }

}   输出结果: true

true

true

true   另外,数组类型也可以使用instanceof来比较。比如   String str[] = new String[2]; 则str instanceof String[]将返回true。