深入Java关键字instanceof
 
instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例。
 
举个例子:
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。

本文转载自:http://lavasoft.blog.51cto.com/62575/79864